欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring @Resource详解

程序员文章站 2022-07-10 20:50:26
@Resource主要做依赖注入,从容器中自动获取bean,作用如下:在启动Spring时,首先要启动容器在启动Sprng容器时,会默认寻找容器扫描范围内的可加载的bean,然后查找哪些bean上的属性和方法有@resource注解找到@resource注解后,判断其name属性是否为空,若为空,看Spring容器中的bean中的id与@resource要注解的那个变量属性名是否相同,如相同,匹配成功;如不同,看spring容器中bean的id对应的类型是否与@resource要注解的那个变量属...

@Resource主要做依赖注入,从容器中自动获取bean,作用如下:

  • 在启动Spring时,首先要启动容器
  • 在启动Sprng容器时,会默认寻找容器扫描范围内的可加载的bean,然后查找哪些bean上的属性和方法有@resource注解
  • 找到@resource注解后,判断其name属性是否为空,若为空,看Spring容器中的bean中的id与@resource要注解的那个变量属性名是否相同,如相同,匹配成功;如不同,看spring容器中bean的id对应的类型是否与@resource要注解的那个变量属性对应的类型是否相等,若相等,匹配成功,若不相等,匹配失败
  • 如果@resource注解括号中的name属性不为空,看name的属性值和容器中的bean的id名是否相等,如相等,则匹配成功,如果不相等,则匹配失败

@Resource和@Autowired注解都是用来实现依赖注入的。只是@Autowired按by type自动注入,而@Resource默认按by name自动注入

@Resource有两个重要属性,分别是name和type

 spring将name属性解析为bean的名字,而type属性则被解析成为bean的类型,所以如果使用name属性,则使用by name的自动注入策略,如果使用type属性则使用by type的自动注入策略。如果都没有指定,则通过反射机制使用by name自动注入策略。

 

本文地址:https://blog.csdn.net/li_w_ch/article/details/110958600

相关标签: springboot spring