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

spring依赖注入所要经历的环节

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

spring依赖注入所要经历的环节

文章目录
  • 一、对象是否允许注入校验
  • 二、对泛型的转换校验
  • 三、匹配指定名称对象
  • 四、判断主要对象注入
  • 五、按顺序注入
  • 六、通过类型、名称筛选注入


spring依赖注入大致要经历六个环节:

一、对象是否允许注入校验

@Bean注解中有一个属性:autowireCandidate。该属性的默认值是true,也即是说当前对象默认情况下是允许注入的;如果该属性的值设置为false,那么就表明该对象是不允许注入的,如果此时@Autowired中的required属性没有设置成false,那么此次注入就会报错。

二、对泛型的转换校验

Java中的接口中可能有像是UserInterface这样的,当一个对象实现了这类接口的时候(如:UserService implements UserInterface),spring就会根据实现类上所写的来初始化实例对象。

三、匹配指定名称对象

如果在创建实例对象时加上了@Qualifier(“userService”)这样的注解,那么只需要在需要注入的属性上方加上相同的注解,该属性就只会加载拥有相同注解的的实例对象。

四、判断主要对象注入

当一个类对象含有多个的时候,如果其中某一个对象加上了@Primary注解,那么spring在注入的时候就会默认以加了@Primary注解的对象注入对应的属性中。

五、按顺序注入

当一个类对象含有多个的时候,只要每个对象的头部都加上了@Priority(“xx”)这样的注解,那么spring会默认取数值最小的那个对象注入需要依赖注入的属性中。

六、通过类型、名称筛选注入

经过上述五个过程的过滤后,如果仍旧含有多个对象,那么spring会先按照类型筛选出与需要注入属性类型相同的对象,如果相同的对象还有多个,那么spring会根据属性名成来取出其中某个key值与其相同的对象注入,如果没有key相同的对象,那么spring注入的时候就会报错。

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

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

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