• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

(二)、自动装配

互联网 diligentman 3个月前 (02-19) 29次浏览

springboot的自动装配大大减轻了开发人员的工作量,约定大于配置的思想深入javaer的心,那么springboot是如何实现自动装配的呢?
下面通过部分源码与图片开始解开其自动配置的神秘面纱。
首先,先从启动类注解开始
(二)、自动装配
可以看到@SpringBootApplication中还有一个@EnableAutoConfiguration注解,从字面意思上就可以看出它与自动装配有不浅的关系,再看看它的全貌。
(二)、自动装配
可以看到@EnableAutoConfiguration上面还有一个@Import注解,其作用是导入一个class,再看看这个AutoConfigurationImportSelector类。
这个类有一个getAutoConfigurationEntry方法,作用是获取需要自动装配类名的set的条目。
(二)、自动装配
getAutoConfigurationEntry中还调用了一个方法getCandidateConfigurations
(二)、自动装配
getCandidateConfigurations中调用了SpringFactoriesLoader.loadFactoryNames(这个方法在上一篇 spi与SpringFactoriesLoader中有详细的解析),从META-INF/spring.factories中读取key为org.springframework.boot.autoconfigure.EnableAutoConfiguration的所有的值返回对应的List。
最后我们来看看spring-boot-autoconfigure包下的META-INF/spring.factories文件。
![上传中…]()
(二)、自动装配
可以看到springboot为项目准备了非常多的配置类,这样开发人员就只需按需更改配置就行了,不需要再去手动实现配置。

最后附上简单的流程图
(二)、自动装配


程序员灯塔
转载请注明原文链接:(二)、自动装配
喜欢 (0)