SpringBoot自动装配原理
springboot极大的简化了开发人员的编程spring项目,几乎做到零XML配置。想想以前SSM项目中springMVC.xml、applicationContext.xml等等配置,繁琐且复制。
自从springboot出来了后到现在,有很少企业会继续用SSM框架进行开发项目。springboot内部大部分配置通知自动导入装配方式简化了开发人员大量的配置时间
新建springboot项目会在pom文件中引入spring-boot-starter-web包,在里面包含了spring-boot-autoconfiguration.jar。在这个包下有meta- inf/spring-factories自动导入配置文件
图解
在springboot的启动类有个注解@SpringBootApplication,里面包含了三个注解@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan。今天我们主要关注的是@EnableAutoConfiguration注解
在注解@EnableAutoConfiguration中引入自动配置导入选择器类AutoConfigurationImportSelector。在这个类中主要关注getAutoConfigurationEntry()方法。这个方法就会去读取meta-inf/spring-factores里的自动配置文件类。将里面的每个xxxAutoConfiguration配置类都会依次读取创建bean到spring容器里面去(每个配置类都会有@ConditonOnxxx注解进行判断当前bean是否需要被创建注入到spring容器里面去)
图解
- 最后虚心学习,共同进步。-_-