当前位置:网站首页>图书 > 正文 >>

Spring Boot技术内幕:架构设计与实现原理

图书信息

作者朱智胜
出版社机械工业出版社
ISBN9787111657088
出版时间2020-05-01
字数33.9万
分类科技,计算机,网络,程序设计

读书简介

这是一本从源码角度分析Spring Boot底层原理和实现方式,以求帮助读者掌握Spring Boot多场景联合运用、项目性能调优的实践指导书。作者是Spring Boot领域的布道者、技术专家,曾以视频、文章等形式分享自己多年实践及研究Spring Boot的经验,影响近50万该领域的读者。 本书以新版本的Spring Boot 2.x的源码为基础行分析,不仅提炼出了Spring Boot源码的核心思想,还从多个维度对Spring Boot框架中的数十个主流功能模块行了源码级的分析,更为难能可贵的是,书中还对Spring Boot外置辅助工具行了源码级的分析。

目录

前言

第一部分 准备篇

第1章 阅读代码前的准备

1.1 获取和调试Spring Boot源代码

1.1.1 获取Spring Boot的源代码

1.1.2 调试Spring Boot的源代码

1.2 Spring Boot源代码的目录结构

1.2.1 Spring Boot的整体项目结构

1.2.2 spring-boot-project项目结构

1.3 源代码阅读工具

1.4 Spring Boot的设计理念和目标

1.4.1 设计理念

1.4.2 设计目标

1.5 Spring Boot的整体架构

第二部分 原理篇

第2章 Spring Boot核心运行原理

2.1 核心运行原理

2.2 运作原理源码解析之@EnableAutoConfiguration

2.2.1 入口类和@SpringBootApplication注解

2.2.2 注解@EnableAutoConfiguration功能解析

2.3 AutoConfigurationImportSelector源码解析

2.3.1 @Import注解

2.3.2 ImportSelector接口

2.3.3 AutoConfigurationImportSelector功能概述

2.3.4 @EnableAutoConfiguration自动配置开关

2.3.5 @EnableAutoConfiguration加载元数据配置

2.3.6 @EnableAutoConfiguration加载自动配置组件

2.3.7 @EnableAutoConfiguration排除指定组件

2.3.8 @EnableAutoConfiguration过滤自动配置组件

2.3.9 @EnableAutoConfiguration事件注册

2.4 @Conditional条件注解

2.4.1 认识条件注解

2.4.2 条件注解的衍生注解

2.5 实例解析

2.6 小结

第3章 Spring Boot构造流程源码分析

3.1 SpringApplication的初始化简介

3.2 SpringApplication实例化流程

3.3 SpringApplication构造方法参数

3.4 Web应用类型推断

3.5 ApplicationContextInitializer加载

3.5.1 源码解析

3.5.2 实例讲解

3.6 ApplicationListener加载

3.7 入口类推断

3.8 SpringApplication的定制化配置

3.8.1 基础配置

3.8.2 配置源配置

3.9 小结

第4章 Spring Boot运行流程源码分析

4.1 run方法核心流程

4.2 SpringApplicationRunListener监听器

4.2.1 监听器的配置与加载

4.2.2 SpringApplicationRunListener源码解析

4.2.3 实现类EventPublishingRunListener

4.2.4 自定义SpringApplicationRunListener

4.3 初始化ApplicationArguments

4.4 初始化ConfigurableEnvironment

4.4.1 获取或创建环境

4.4.2 配置环境

4.5 忽略信息配置

4.6 打印Banner

4.7 Spring应用上下文的创建

4.8 Spring应用上下文的准备

4.8.1 应用上下文准备阶段

4.8.2 应用上下文加载阶段

4.9 Spring应用上下文的刷新

4.10 调用ApplicationRunner和CommandLineRunner

4.11 小结

第三部分 内置组件篇

第5章 Spring Boot外化配置源码解析

5.1 外化配置简介

5.2 ApplicationArguments参数处理

5.2.1 接口定义及初始化

5.2.2 使用实例

5.3 命令参数的获取

5.4 配置文件的加载

5.5 基于Profile的处理实现

5.6 综合实战

5.7 小结

第6章 Spring Boot Web应用源码解析

6.1 遗失的web.xml

6.2 Web应用的自动配置

6.2.1 DispatcherServlet自动配置

6.2.2 DispatcherServletRegistrationBean自动配置

6.3 Spring MVC的自动配置

6.3.1 ViewResolver解析

6.3.2 静态资源的支持

6.3.3 静态index.html

6.4 综合实战

6.5 小结

第7章 Spring Boot内置Servlet容器源码解析

7.1 Web容器自动配置

7.1.1 Servlet Web服务器概述

7.1.2 自动配置源码分析

7.2 WebServer初始化过程

7.3 DispatcherServlet的加载过程

7.3.1 DispatcherServlet的获取

7.3.2 DispatcherServlet的加载

7.4 综合实战

7.5 小结

第8章 Spring Boot数据库配置源码解析

8.1 自动配置注解解析

8.2 自动配置内部实现解析

8.2.1 EmbeddedDatabaseConfiguration

8.2.2 PooledDataSourceConfiguration

8.3 JdbcTemplateAutoConfiguration

8.4 异常案例分析

8.5 小结

第9章 Spring Boot消息源码解析

9.1 JMS基础自动配置

9.1.1 JmsAutoConfiguration的注解

9.1.2 JmsAutoConfiguration内部实现

9.2 ActiveMQ自动配置

9.3 @JmsListener注解解析

9.4 小结

第10章 Spring Boot Cache源码解析

10.1 Cache简介

10.2 Cache自动配置

10.3 默认Cache配置

10.4 小结

第11章 Spring Boot日志源码解析

11.1 LoggingApplicationListener的触发

11.2 LoggingApplicationListener的执行

11.2.1 ApplicationStartingEvent事件处理

11.2.2 ApplicationEnvironmentPreparedEvent事件处理

11.3 小结

第12章 实战:创建Spring Boot自动配置项目

12.1 自定义Spring Boot Starter项目

12.2 Starter测试使用

12.3 小结

第四部分 外置组件篇

第13章 Spring Boot单元测试

13.1 Spring Boot对单元测试的支持

13.2 常用单元测试注解

13.3 JUnit5单元测试示例

13.4 Web应用单元测试

13.5 MockMvc的自动配置

13.5.1 AutoConfigureMockMvc注解

13.5.2 MockMvcAutoConfiguration自动配置

13.6 小结

第14章 Spring Boot打包部署解析

14.1 Spring Boot的jar包

14.1.1 jar包的生成

14.1.2 jar包的结构

14.2 Launcher实现原理

14.2.1 JarLauncher

14.2.2 WarLauncher

14.3 小结

第15章 Spring Boot应用监控解析

15.1 Actuator简介

15.2 Actuator自动配置

15.2.1 HealthEndpoint自动配置

15.2.2 HealthIndicator实现

15.3 Actuator端点展示

15.4 小结

第16章 Spring Boot Security支持

16.1 Security自动配置

16.2 SecurityAutoConfiguration详解

16.3 SecurityFilterAutoConfiguration详解

16.4 小结