-
1.3、按需开启自动配置项
-
1.3、修改默认配置
-
1.5、总结springboot的自动配置原理
-
1.6、怎么修改SpringBoot配置文件,配置文件可以修改哪些内容?
-
1.7、springboot自动配置最佳实践
-
1.8、如何修改spring启动时默认的banner图
=======================================================================
1.1.1、@ConditionalOnMissingBean与@ConditionalOnBean
@ConditionalOnMissingBean容器中不存在这个类型的组件时,下面内容才生效;
@ConditionalOnBean容器中存在这个类型的组件时,下面内容才生效。
1.1.2、@ConditionalOnClass与ConditionalOnMissingClass
@ConditionalOnClass(CharacterEncodingFilter.class)项目中引入了这个类(CharacterEncodingFilter)时,下面内容才生效;
@ConditionalOnMissingClass(CharacterEncodingFilter.class)项目中没有引入了这个类(CharacterEncodingFilter)时,下面内容才生效;
1.1.3、@EnableConfigurationProperties
-
@EnableConfigurationProperties(ServerProperties.class)
-
用于开启属性配置绑定,属性在ServerProperties.class类中,如下图所示,ServerProperties类中定义了多个属性。
- 我们可以在配置文件application.prperties中修改这些属性的值。
1.2、主程序中的@SpringBootApplication注解
@SpringBootApplication注解,主程序类上使用的注解。该注解可以替换一下三个注解。
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication{}
1.2.1、@SpringBootConfiguration
@Configuration。代表当前是一个配置类,说明springboot的主程序也是一个配置类
1.2.2、@ComponentScan
指定扫描哪些包,Spring注解;
1.2.3、@EnableAutoConfiguration
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {}