栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅谈springboot自动装配原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈springboot自动装配原理

@SpringBootApplication:在启动类上定义的注解,是一个复合注解,主要由@SpringBootConfiguration、@EnableAutoConfiguration、@ComponmentScan这三个注解组成

1.@SpringBootConfiguration注解和@Configuration注解无异,作用:指示一个类声明一个或多个@Bean方法,并且可以由Spring容器处理

2.@ComponmentScan注解作用:配置扫描的包路径

3.@EnableAutoConfiguration是一个复合注解包括
@AutoConfigurationPackage和@import(AutoConfigurationimportSelector.class)
扩展:@import注解的作用就是导入其它JAVA Config配置类到当前类当中

    @AutoConfigurationPackage的作用:扫描的包路径保存到全局变量,便于查询。AutoConfigurationimportSelector类当中有一个selecimports方法,该方法返回字符数组,数组里面存放的是类的全路径。
    那么字符串数组的从哪里来的呢?
    meta-IF/spring.factories文件当中来的,spring.factories是key-value的结构,自动装配的key为EnableAutoConfiguration。sprin spi机制提供的API将字符串数组当中的类全路径通过反射加载进IOC容器当中。

说完注解:配合starter说一下整体流程
每一个starter都会提供一个@Configuration+@Bean的配置类
(比如ssm整合mybatis是不是要什么 等注册好多bean,这里的@Configuration+@Bean的配置类就相当于这个效果) ,
然后配置类的一个全路径会在spring.factories当中保存(注册),注册了之后
spring spi机制中的API会配合@import(AutoConfigurationimportSelector.class) 这个注解引入的AutoConfigurationimportSelector类当中的selecimports方法,
通过反射,Class.forName(“类全路径”),将这些bean加载进IOC容器当中

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/764371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号