当前位置:   article > 正文

[201903][Spring Boot 编程思想][核心篇][小马哥][著]_springboot编程思想 pdf

springboot编程思想 pdf

[201903][Spring Boot 编程思想][核心篇][小马哥][著]

The Java Community Process(SM) Program

https://jcp.org/en/home/index

mercyblitz/thinking-in-spring-boot-samples: 小马哥书籍《Spring Boot 编程思想》示例工程

https://github.com/mercyblitz/thinking-in-spring-boot-samples

mercyblitz/jsr: Java Specification Requests

https://github.com/mercyblitz/jsr

第 1 部分 总览 Spring Boot

第 1 章 初览 Spring Boot

1.1 Spring Framework 时代

1.2 Spring Boot 简介

1.3 Spring Boot 特性

1.4 准备运行环境

1.4.1 装配 JDK8
1.4.2 装配 Maven
1.4.3 装配 IDE (集成开发环境)

第 2 章 理解独立的 Spring 应用

2.1 创建 Spring Boot 应用

2.1.1 命令行方式创建 Spring Boot 应用
2.1.2 图形化界面创建 Spring Boot 应用
2.1.3 创建 Spring Boot 应用可执行 JAR

2.2 运行 Spring Boot 应用

2.2.1 执行 Spring Boot 应用可执行 JAR
2.2.2 Spring Boot 应用可执行 JAR 资源结构
2.2.3 FAT JAR 和 WAR 执行模块 - spring-boot-loader
2.2.4 JarLauncher 的实现原理

第 3 章 理解固化的 Maven 依赖

3.1 spring-boot-starter-parent 与 spring-boot-dependencies 简介

3.2 理解 spring-boot-starter-parent 与 spring-boot-dependencies

第 4 章 理解嵌入式 Web 容器

4.1 嵌入式 Servlet Web 容器

4.1.1 Tomcat 作为嵌入式 Servlet Web 容器
4.1.2 Jetty 作为嵌入式 Servlet Web 容器
4.1.3 Undertow 作为嵌入式 Servlet Web 容器

4.2 嵌入式 Reactive Web 容器

4.2.1 UndertowServletWebServer 作为嵌入式 Reactive Web 容器
4.2.2 UndertowWebServer 作为嵌入式 Reactive Web 容器
4.2.3 WebServerInitializedEvent
4.2.4 Jetty 作为嵌入式 Reactive Web 容器
4.2.5 Tomcat 作为嵌入式 Reactive Web 容器

第 5 章 理解自动装配

5.1 理解 @SpringBootApplication 注解语义

5.2 @SpringBootApplication 属性别名

5.3 @SpringBootApplication 标注非引导类

5.4 @EnableAutoConfiguration 激活自动装配

5.5 @SpringBootApplication “继承”@Configuration CGLIB 提升特性

5.6 理解自动配置机制

5.7 创建自动配置类

第 6 章 理解 Production-Ready 特性

6.1 理解 Production-Ready 一般性定义

6.2 理解 Spring Boot Actuator

6.3 Spring Boot Actuator Endpoints

6.4 理解“外部化配置”

6.5 理解“规约大于配置”

6.6 小马哥有话说

6.6.1 Spring Boot 作为微服务中间件
6.6.2 Spring Boot 作为 Spring Cloud 基础设施

6.7 下一站:走向自动装配

第 2 部分 走向自动装配

第 7 章 走向注解驱动编程(Annotation-Driven)

7.1 注解驱动发展史

7.1.1 注解驱动启蒙时代:Spring Framework 1.x
7.1.2 注解驱动过渡时代:Spring Framework 2.x
7.1.3 注解驱动黄金时代:Spring Framework 3.x
7.1.4 注解驱动完善时代:Spring Framework 4.x
7.1.5 注解驱动当下时代:Spring Framework 5.x

7.2 Spring 核心注解场景分类

7.3 Spring 注解编程模型

7.3.1 元注解(Meta-Annotations)
7.3.2 Spring 模式注解(Stereotype Annotations)
7.3.3 Spring 组合注解(Composed Annotations)
7.3.4 Spring 注解属性别名和覆盖(Attribute Aliases and Overrides)

第 8 章 Spring 注解驱动设计模式

8.1 Spring @Enable 模块驱动

8.1.1 理解 @Enable 模块驱动
8.1.2 自定义 @Enable 模块驱动
8.1.3 @Enable 模块驱动原理

8.2 Spring Web 自动装配

8.2.1 理解 Web 自动装配
8.2.2 自定义 Web 自动装配
8.2.3 Web 自动装配原理

8.3 Spring 条件装配

8.3.1 理解配置条件装配
8.3.2 自定义配置条件装配
8.3.3 配置条件装配原理

第 9 章 Spring Boot 自动装配

9.1 理解 Spring Boot 自动装配

9.1.1 理解 @EnableAutoConfiguration
9.1.2 优雅地替换自动装配
9.1.3 失效自动装配

9.2 Spring Boot 自动装配原理

9.2.1 @EnableAutoConfiguration 读取候选装配组件
9.2.2 @EnableAutoConfiguration 排除自动装配组件
9.2.3 @EnableAutoConfiguration 过滤自动装配组件
9.2.4 @EnableAutoConfiguration 自动装配事件
9.2.5 @EnableAutoConfiguration 自动装配生命周期
9.2.7 @EnableAutoConfiguration 自动装配 BasePackages

9.3 自定义 Spring Boot 自动装配

9.3.1 自动装配 Class 命名的潜规则
9.3.2 自动装配 package 命名的潜规则
9.3.3 自定义 Spring Boot Starter

9.4 Spring Boot 条件化自动装配

9.4.1 Class 条件注解
9.4.2 Bean 条件注解
9.4.3 属性条件注解
9.4.4 Resource 条件注解
9.4.5 Web 应用条件注解
9.4.6 Spring 表达式条件注解

9.5 小马哥有话说

9.6 下一站:理解 SpringApplication

第 3 部分 理解 SpringApplication

第 10 章 SpringApplication 初始化阶段

10.1 SpringApplication 构造阶段

10.1.1 理解 SpringApplication 主配置类
10.1.2 SpringApplication 的构造过程
10.1.3 推断 Web 应用类型
10.1.4 加载 Spring 应用上下文初始化器(ApplicationContextInitializer)
10.1.5 加载 Spring 应用事件监听器(ApplicationListener)
10.1.6 推断应用引导类

10.2 SpringApplication 配置阶段

10.2.1 自定义 SpringApplication
10.2.2 调整 SpringApplication 设置
10.2.3 增加 SpringApplication 配置源
10.2.4 调整 Spring Boot 外部化配置

第 11 章 SpringApplication 运行阶段

11.1 SpringApplication 准备阶段

11.1.1 理解 SpringApplicationRunListeners
11.1.2 理解 SpringApplicationRunListener
11.1.3 理解 Spring Boot 事件
11.1.4 理解 Spring 事件/监听机制
1. Spring 事件发布
1) ApplicationEventMulticaster 注册 ApplicationListener
2) ApplicationEventMulticaster 广播事件
3) ApplicationEventMulticaster 与 ApplicationContext 之间的关系
2. Spring 内建事件
1) Spring 应用上下文就绪事件 - ContextRefreshedEvent
2) Spring 应用上下文启停事件 - ContextStartedEvent 和 ContextStoppedEvent
3) Spring 应用上下文关闭事件 - ContextClosedEvent
4) Spring 应用上下文事件 - ApplicationContextEvent
3. 自定义 Spring 事件
4. Spring 事件监听
1) ApplicationListener 监听 Spring 内建事件
2) ApplicationListener 监听自定义 Spring 泛型事件
3) ApplicationListener 监听实现原理
4) 注解驱动 Spring 事件监听 - @EventListener
5) @EventListener 方法监听多 ApplicationEvent
6) @EventListener 异步方法
7) @EventListener 方法执行顺序
8) @EventListener 方法监听泛型 ApplicationEvent
9) @EventListener 方法对比 ApplicationListener 接口
10) @EventListener 方法实现原理
11) SmartInitializingSingleton 生命周期回调
12) EventListenerMethodProcessor 的实现原理
5. 总结 Spring 事件/监听机制
1) 总结 Spring 事件
2) 总结 Spring 事件监听手段
3) 总结 Spring 事件广播器
11.1.5 理解 Spring Boot 事件/监听机制
1. 早期 Spring Boot 事件/监听机制
1) SmartApplicationListener 监听多 Spring Boot 事件
2) @EventListener 方法监听多 Spring Boot 事件
2. 当前 Spring Boot 事件/监听机制
3. Spring Boot 内建事件监听器
4. 总结 Spring Boot 事件/监听机制
1) 总结 Spring Boot 事件
2) Spring Boot 事件监听手段
3) Spring Boot 事件广播器
11.1.6 装配 ApplicationArguments
11.1.7 准备 ConfigurableEnvironment
11.1.8 创建 Spring 应用上下文(ConfigurableApplicationContext)
1. 根据 WebApplicationType 创建 Spring 应用上下文
2. 根据指定 ConfigurableApplicationContext 类型创建 Spring 应用上下文
11.1.9 Spring 应用上下文运行前准备
1. Spring 应用上下文准备阶段
1) 设置 Spring 应用上下文 ConfigurableEnvironment
2) Spring 应用上下文后置处理
3) Spring 应用上下文初始化器(ApplicationContextInitializer)
4) 执行 SpringApplicationRunListener#contextPrepared 方法回调
2. Spring 应用上下文装载阶段
1) 注册 Spring Boot Bean
2) 合并 Spring 应用上下文配置源
3) 加载 Spring 应用上下文配置源
4) 执行 SpringApplicationRunListener#contextLoaded 方法回调

11.2 Spring 应用上下文启动阶段

11.3 Spring 应用上下文启动后阶段

11.3.1 afterRefresh 方法签名的变化
11.3.2 afterRefresh 方法语义的变化
11.3.3 Spring Boot 事件 ApplicationStartedEvent 语义的变化
11.3.4 执行 CommandLineRunner 和 ApplicationRunner

第 12 章 SpringApplication 结束阶段

12.1 SpringApplication 正常结束

12.2 SpringApplication 异常结束

12.2.1 Spring Boot 异常处理
12.2.2 错误分析报告器 - FailureAnalysisReporter
12.2.3 自定义实现 FailureAnalyzer 和 FailureAnalysisReporter
12.2.4 Spring Boot 2.0 重构 handleRunFailure 和 reportFailure 方法
12.2.5 Spring Boot 2.0 的 SpringBootExceptionReporter 接口

第 13 章 Spring Boot 应用退出

13.1 Spring Boot 应用正常退出

13.1.1 ExitCodeGenerator Bean 生成退出码
13.1.2 ExitCodeGenerator Bean 退出码使用场景

13.2 Spring Boot 应用异常退出

13.2.1 ExitCodeGenerator 异常使用场景
13.2.2 ExitCodeExceptionMapper Bean 映射异常与退出码
13.2.3 退出码用于 SpringApplication 异常结束

13.3 小马哥有话说

13.4 下一站:运维篇

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号