您的位置:首页 > 编程语言 > Java开发

SpringBoot自动配置原理

2021-04-01 22:12 225 查看

先你会注意到,SpringBoot应用启动类都会有@SpringBootApplication

通过查看@SpringBootApplication源码,关键就在于@SpringBootConfiguration、@EnableAutoConfiguration,@ComponentScan这三个 

@SpringBootConfiguration
根据Spring文档,只是Spring标准@Configuration批注的替代方法。 两者之间的唯一区别是@SpringBootConfiguration允许自动找到配置。
通过源码可以看到@Configuration注解,这个注解的作用就是声明当前类是一个配置类,Spring就会自动扫描到添加了@Configuration的类,并且读取其中的配置信息。

@EnableAutoConfiguration

通过源码发现,关键使用@Import引入了AutoConfigurationImportSelector类,该类使用selectImports()方法扫描具有META-INF/spring.factories文件的jar包。
拓展:spring.factories文件是Key=Value形式,多个Value时使用逗号隔开。

@ComponentScan
主要作用就是扫描@SpringBootApplication注解的Application类所在的包下所有的@component注解(或拓展了@component的注解)标记的bean,并注册到spring容器中。
————————————————
原文链接:https://blog.csdn.net/qq_36433289/article/details/115022789

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: