SpringBoot自动配置原理

导读:本篇文章讲解 SpringBoot自动配置原理,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

首先你会注意到,SpringBoot应用启动类都会有@SpringBootApplication
在这里插入图片描述
通过查看@SpringBootApplication源码,关键就在于@SpringBootConfiguration、@EnableAutoConfiguration,@ComponentScan这三个注解在这里插入图片描述

@SpringBootConfiguration

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

@EnableAutoConfiguration

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

@ComponentScan

主要作用就是扫描@SpringBootApplication注解的Application类所在的包下所有的@component注解(或拓展了@component的注解)标记的bean,并注册到spring容器中。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/85479.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!