5、@Resource是如何工作的

2021-06-09  本文已影响0人  YonchanLew

(1)@Resource是什么?
@Resource注解与@Autowired类似,也是用来进行依赖注入的,@Resource是Java层面所提供的注解,@Autowired是Spring所提供的注解,它们依赖注入的底层实现逻辑也不同。

@Resource注解中有一个name属性,针对name属性是否有值,@Resource的依赖注入底层流程是不同的。

(2)name属性有值
@Resource如果name属性有值,那么Spring会直接根据所指定的name值去Spring容器找Bean对象,如果找到了则成功,如果没有找到,则报错。

(3)name属性没有值
如果@Resource中的name属性没有值,则:
Ⅰ、先判断该属性名字在Spring容器中是否存在Bean对象。
Ⅱ、如果存在,则成功找到Bean对象进行注入。
Ⅲ、如果不存在,则根据属性类型去Spring容器找Bean对象,找到一个则进行注入。

上一篇 下一篇

猜你喜欢

热点阅读