Spring Boot 自动配置原理解析
注解说明
-
@SpringBootApplication:复合注解和派生注解,负责程序引导
-
@SpringBootApplication里面有 @EnableAutoConfiguration
此注解会开启自动配置 它也是一个派生注解 -
这个@EnableAutoConfiguration注解通过@SpringBootApplication被间接的标记在了Spring Boot的启动类上。
-
在SpringApplication.run(…)的内部就会执行selectImports()方法,
-
@Import注解 找到所有JavaConfig自动配置类的全限定名对应的class,然后将所有自动配置类加载到Spring容器中。
使自动配置生效
- 我们大致可以了解。在全局配置的属性如:server.port等,通过@ConfigurationProperties注解,绑定到对应的XxxxProperties配置实体类上封装为一个bean,
- 再通过@EnableConfigurationProperties注解导入到Spring容器中。
而诸多的XxxxAutoConfiguration自动配置类,就是Spring容器的JavaConfig形式,作用就是为Spring 容器导入bean,而所有导入的bean所需要的属性都通过xxxxProperties声明的bean来获得。
自动配置总结:
- Spring