个人对自动配置的认识
自动配置具体一点说应该叫 :将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