个人对自动配置的认识

自动配置具体一点说应该叫 :将Bean自动装配到Spring容器中。自动配置的实现方式主要是下面两个关键点:

  1. 问题1:Bean如何配置,必须要XML或Java代码定义好,若我们不写,那就必须有人帮我们写?

解决方式:我们如果不写的话,boot项目就要帮我们写。于是SpringBoot项目中自己写好一些能够配置Bean的Java类

  1. 问题2:如何找到这些写好的配置类

解决方式:SpringBoot通过@EnableAutoConfiguration找到这些类并读取运行

@SpringBootApplication注解

此注解就可以完成配置类的扫描工作,由以下三个注解组成

  • @SpringBootConfiguration:主要作用是@Configuration的作用
    • @Configuration
  • @EnableAutoConfiguration:开启自动装配,其作用是找到META-INF下spring.factories中定义的类,进行读取类中定义的配置
  • @ComponentScan:扫描被标注的类所在包及其子包的所有组件

配置类相关注解

  1. 基本注解
  • @Configuration
  • @Bean
  1. 配置属性
  • @EnableConfigurationProperties
  • @ConfigurationProperties(prefix = “xxx”)
  1. 条件控制
  • @Conditional
  • @ConditionalOnClass
  • @ConditionalOnMissingBean
  • @ConditionalOnWebApplication(type = Type.SERVLET)
  1. 控制顺序
  • @AutoConfigureAfter
  • @AutoConfigureBefore
  • @AutoConfigureOrder