feat:更新博客

This commit is contained in:
2025-11-29 21:49:12 +08:00
parent bda2256ea7
commit aa0603efff
15 changed files with 331 additions and 51 deletions

View File

@@ -21,7 +21,7 @@
3. BeanFactoryPostProcessorBean工厂后处理器
4. AutoConfigurationImportSelector自动配置选择器
  Spring Boot使用SpringFactoriesLoader机制从类路径下的**META-INF/spring.factories**文件中加载各种扩展组件。**这种机制是Spring Boot自动配置的核心基础它允许框架和开发者通过标准的配置文件来注册和发现各种扩展实现。**
  Spring Boot使用SpringFactoriesLoader机制从类路径下的**META-INF/spring.factories**文件中加载各种扩展组件。**这种机制是Spring Boot自动配置的核心基础它允许框架和开发者通过标准的配置文件来注册和发现各种扩展实现。**
  配置文件中定义了多种类型的组件,包括**应用上下文初始化器、应用事件监听器、Bean工厂后处理器**等。这些组件将在后续的启动过程中按照特定的顺序被执行,共同完成应用的初始化工作。
**🔹 步骤1.3 - 推断Web应用类型**
@@ -34,7 +34,7 @@
🅱️ REACTIVE响应式Web应用
©️ NONE非Web应用
  应用类型推断是Spring Boot自动配置的重要环节。系统会根据项目的依赖情况自动判断应用类型这直接影响后续创建的应用上下文类型和内嵌服务器的选择。
  应用类型推断是Spring Boot自动配置的重要环节。系统会根据项目的依赖情况自动判断应用类型这直接影响后续创建的应用上下文类型和内嵌服务器的选择。
  **推断过程主要通过检查类路径中是否存在特定的类来完成。例如如果存在Servlet相关的类就推断为Web应用如果存在WebFlux相关的类就推断为响应式Web应用。** 这种基于类路径的自动推断机制使得开发者无需手动配置应用类型,大大简化了配置工作。
## 2.2 环境准备与配置加载
@@ -51,7 +51,7 @@ ConfigurableEnvironment可配置环境
└── ConversionService类型转换服务
```
  环境对象是Spring Boot应用运行时的配置中心它负责管理所有的配置属性和运行环境信息。根据应用类型的不同Spring Boot会创建相应的环境实例。
  环境对象是Spring Boot应用运行时的配置中心它负责管理所有的配置属性和运行环境信息。根据应用类型的不同Spring Boot会创建相应的环境实例。
  环境对象采用分层设计提供了统一的属性访问接口同时支持多种属性源的动态管理。环境对象还负责管理激活的配置文件Profile支持基于不同环境的配置隔离和切换。
**🔹 步骤2.2 - 配置属性源加载**
@@ -77,16 +77,17 @@ ConfigurableEnvironment可配置环境
3. 合并不同profile的配置项
4. 处理配置覆盖和冲突解决
  Profile机制是Spring框架提供的环境隔离解决方案它允许开发者为不同的运行环境定义不同的配置。Spring Boot在启动时会根据激活的Profile来加载相应的配置并处理配置之间的覆盖关系。
  Profile机制是Spring框架提供的环境隔离解决方案它允许开发者为不同的运行环境定义不同的配置。Spring Boot在启动时会根据激活的Profile来加载相应的配置并处理配置之间的覆盖关系。
  Profile的激活可以通过多种方式实现包括命令行参数、系统属性、配置文件等。系统支持同时激活多个Profile并提供了灵活的配置合并策略来处理可能出现的配置冲突。
**🔹 步骤2.4 - 配置属性绑定**
1. 属性值解析:从各种属性源中获取属性值
2. 类型转换:将字符串值转换为目标类型
3. 数据验证基于JSR-303进行数据校验
4. 对象绑定:将属性值设置到@ConfigurationProperties类
  配置属性绑定是将外部配置值注入到Java对象中的过程。Spring Boot提供了强大的属性绑定功能支持宽松的绑定规则、类型转换、数据验证等特性。
  绑定过程首先会从环境对象中获取属性值,然后进行类型转换,将字符串类型的配置值转换为目标属性类型。如果配置了验证规则,还会执行数据验证,确保配置值的正确性。最后,将验证通过的属性值设置到目标对象中。
4. 对象绑定:将属性值设置到@ConfigurationProperties类
  配置属性绑定是将外部配置值注入到Java对象中的过程。Spring Boot提供了强大的属性绑定功能支持宽松的绑定规则、类型转换、数据验证等特性。
  绑定过程首先会从环境对象中获取属性值,然后进行类型转换,将字符串类型的配置值转换为目标属性类型。如果配置了验证规则,还会执行数据验证,确保配置值的正确性。最后,将验证通过的属性值设置到目标对象中。
## 2.3 应用上下文创建与初始化
**🔹 步骤3.1 - 创建应用上下文实例**
@@ -122,7 +123,7 @@ GenericApplicationContext/AnnotationConfigApplicationContext
3. 🔧 添加特殊的后处理器
4. 🔧 配置环境变量覆盖
  应用上下文初始化器是Spring Boot提供的重要扩展点允许开发者**在上下文正式刷新之前执行自定义的初始化逻辑。** **初始化器可以通过spring.factories文件注册也可以通过SpringApplication的addInitializers方法添加。**
  应用上下文初始化器是Spring Boot提供的重要扩展点允许开发者**在上下文正式刷新之前执行自定义的初始化逻辑。** **初始化器可以通过spring.factories文件注册也可以通过SpringApplication的addInitializers方法添加。**
  **初始化器的主要作用包括注册自定义的Bean定义、配置上下文特定的属性、添加特殊的后处理器等。** 通过初始化器,开发者可以深度定制应用上下文的行为,满足特殊的业务需求。
**🔹 步骤3.4 - 发布应用上下文事件**