SpringBoot学习-part16 自动配置基本原理

    技术2022-07-11  146

    以HttpEncodingAutoConfiguration为例,解析自动配置原理

    //这是一个配置文件 @Configuration(proxyBeanMethods = false) //启动指定的类,将配置文件中对应的值和ServerProperties对应起来 @EnableConfigurationProperties(ServerProperties.class) //Spring 底层有个Conditional注解, 判断当前是否是web应用,如果是,则当前配置生效 @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET) //是否是字符过滤器类,如果是的话生效 @ConditionalOnClass(CharacterEncodingFilter.class) //判断配置文件中是否存在指定的配置,matchIfMissing:即便找不到这项也返回true @ConditionalOnProperty(prefix = "server.servlet.encoding", value = "enabled", matchIfMissing = true) public class HttpEncodingAutoConfiguration {

    @Bean 给容器添加组件:CharacterEncodingFilter @Bean给容器中添加组件:localeCharsetMappingsCustomizer

    Processed: 0.013, SQL: 9