Spring 注解@Resource
本文内容纲要:Spring 注解@Resource
@Resource
的作用相当于 @Autowired
,只不过 @Autowired
按 byType 自动注入,面 @Resource
默认按 byName 自动注入罢了。
@Resource
有两个属性是比较重要的,分别是 name 和 type,Spring 将 @Resource
注释的 name 属性解析为 Bean 的名字,而 type 属性则解析为 Bean 的类型。
所以如果使用 name 属性,则使用 byName 的自动注入策略,而使用 type 属性时则使用 byType 自动注入策略。
如果既不指定 name 也不指定 type 属性,这时将通过反射机制使用 byName 自动注入策略。
@Resource 注释类位于 Spring 发布包的 lib/j2ee/common-annotations.jar 类包中,因此在使用之前必须将其加入到项目的类库中。
一般情况下,我们无需使用类似于 @Resource(type=Car.class)
的注释方式,因为 Bean 的类型信息可以通过 Java 反射从代码中获取。
要让 JSR-250 的注释生效,除了在 Bean 类中标注这些注释外,还需要在 Spring 容器中注册一个负责处理这些注释的 BeanPostProcessor
:
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor"/> |
CommonAnnotationBeanPostProcessor
实现了 BeanPostProcessor
接口,它负责扫描使用了 JSR-250 注释的 Bean,并对它们进行相应的操作。
参考:
http://blog.sina.com.cn/s/blog_7cc04ac80100xx8p.html
本文内容总结:Spring 注解@Resource
原文链接:https://www.cnblogs.com/zjstar12/archive/2012/09/22/2697792.html
以上是 Spring 注解@Resource 的全部内容, 来源链接: utcz.com/z/296447.html