Springboot主程序类注解配置过程图解

时间:2021-05-20

@SpringBootApplication

点进这个注解看

进去第一个注解@SpringBootConfiguration看,上面有Configuration注解

@Configuration 这是Spring的配置类注解, 说明这个类一个配置类,里面都是配置文件

进第二个注解@EnableAutoConfiguration, 顾名思义,这是允许自动配置生效的注解, 接下来进去看它。

@EnableAutoConfiguration

进去后也有两个注解:第一个AutoConfigurationPackage,进去看

里面有这个注解,@Import({Registrar.class}) @Import是spring的底层注解,作用是给Spring导入一个Registrar组件
进去看Registrar

将主配置类所在的包以及以下的包里的所有组件,扫描到Spring容器中。

第二个@Import({AutoConfigurationImportSelector.class})

进AutoConfigurationImportSelector里看,

这个configurations数组是我们需要导入的组件。看看configurations有什么,

实际上是将所有需要导入的组件以类全名的方式返回,这些组件会导入到容器中

能看到是从META-INF/spring.factories里获取EnableAutoConfiguration指定的值,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们完成自动配置工作:

看看spring.factories里有什么,有非常多的自动配置类 XXXAutoCOnfiguration(这里就不进去看了),@Import({AutoConfigurationImportSelector.class})就是给容器中导入这个场景需要的所有组件并且配置好

注意spring-boot-autoconfigure.jar包。这里面有所有自动配置的组件

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章