Spring @Resource详解
@Resource主要做依赖注入,从容器中自动获取bean,作用如下:在启动Spring时,首先要启动容器在启动Sprng容器时,会默认寻找容器扫描范围内的可加载的bean,然后查找哪些bean上的属性和方法有@resource注解找到@resource注解后,判断其name属性是否为空,若为空,看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自动注入策略。
更多推荐
已为社区贡献1条内容
所有评论(0)