1、在读取spring.factories 文件;

SpringBoot 启动时会读取spring-boot-autoconfigure-2.1.0.RELEASE-sources.jar 包下的META-INF/spring.factories 文件;

org.springframework.boot.autoconfigure.EnableAutoConfiguration 属性值加载自动配置类。

2、加载xxProperties类

根据自动配置类中指定的xxxProperties类设置自动配置属性值,开发者也可以根据xxxProperties类中指定的属性在yml配置文件中修改自动配置;

3、@ConditionalOnClass(xx.class)该注解决定加载那些组件;

需要服务xx类,才会启动自动加载类HttpEncodingAutoConfiguration ;指定特定组件加入IOC容器所需要的具备特定条件,这个组件会在满足条件是加入IOC容器;

例如:

@Configuration
@EnableConfigurationProperties(HttpEncodingProperties.class)
@ConditionalOnWebApplication
@ConditionalOnClass(CharacterEncodingFilter.class)
@ConditionalOnProperty(prefix = "spring.http.encoding", value = "enabled", matchIfMissing = true)
public class HttpEncodingAutoConfiguration {

}

SpringBoot 原理

 

相关文章:

  • 2021-10-26
  • 2021-11-04
  • 2021-06-18
  • 2021-07-15
  • 2021-11-28
  • 2021-11-28
  • 2022-01-13
猜你喜欢
  • 2021-04-09
  • 2021-05-07
  • 2021-11-23
  • 2022-12-23
  • 2021-11-17
  • 2021-04-17
相关资源
相似解决方案