个人对自动配置的认识
自动配置具体一点说应该叫 :将Bean自动装配到Spring容器中。自动配置的实现方式主要是下面两个关键点:
- 问题1:Bean如何配置,必须要XML或Java代码定义好,若我们不写,那就必须有人帮我们写?
 
解决方式:我们如果不写的话,boot项目就要帮我们写。于是SpringBoot项目中自己写好一些能够配置Bean的Java类
- 问题2:如何找到这些写好的配置类
 
解决方式:SpringBoot通过@EnableAutoConfiguration找到这些类并读取运行
@SpringBootApplication注解
此注解就可以完成配置类的扫描工作,由以下三个注解组成
@SpringBootConfiguration:主要作用是@Configuration的作用@Configuration
@EnableAutoConfiguration:开启自动装配,其作用是找到META-INF下spring.factories中定义的类,进行读取类中定义的配置@ComponentScan:扫描被标注的类所在包及其子包的所有组件
配置类相关注解
- 基本注解
 
- @Configuration
 - @Bean
 
- 配置属性
 
- @EnableConfigurationProperties
 - @ConfigurationProperties(prefix = “xxx”)
 
- 条件控制
 
- @Conditional
 - @ConditionalOnClass
 - @ConditionalOnMissingBean
 - @ConditionalOnWebApplication(type = Type.SERVLET)
 
- 控制顺序
 
- @AutoConfigureAfter
 - @AutoConfigureBefore
 - @AutoConfigureOrder
 
