8.2.3 使用@Resource配置依赖
@Resource 位于javax.annotation包下,是来自Java EE规范的一个Annotation,Spring直接借鉴了该Annotation,通过使用该Annotation为目标Bean指定协作者Bean。
@Resource 有一个name属性,在默认情况下,Spring将这个值解释为需要被注入的Bean实例的id。换句话说,使用@Resource与<property.../>元素的ref属性相同的效果。
Class : 修饰setter方法package edu.pri.lime._8_2_3.bean.impl;
import org.springframework.stereotype.Component; import edu.pri.lime._8_2_3.bean.Axe; import edu.pri.lime._8_2_3.bean.Person; @Component public class Chinese implements Person { private Axe axe; /*指定将容器中的steelAxe作为setAxe方法的参数。*/
/*当省略name属性时,name属性值默认为该setter方法去掉前面的set字串、首字母小写后得到的字串*/ @Resource(name="steelAxe") public void setAxe(Axe axe) { this.axe = axe; } public void useAxe() { System.out.println(axe.chop()); } public Axe getAxe() { return axe; } }
Class : 修饰Field
package edu.pri.lime._8_2_3.bean.impl; import edu.pri.lime._8_2_3.bean.Axe; import edu.pri.lime._8_2_3.bean.Person; public class French implements Person { /*此时Spring将会直接使用Java EE规范的Field注入,此时连setter方法都可以不要。*/ /*当省略name属性时,name属性值默认与该实例变量同名*/ @Resouce(name="steelAxe") private Axe axe; public void useAxe() { System.out.println(axe.chop()); } }
啦啦啦
啦啦啦
本文介绍了如何使用Java EE规范中的@Resource注解来配置Spring框架中的Bean依赖注入。通过具体的代码示例,展示了@Resource注解可以应用于setter方法或字段上,并且可以通过name属性指定要注入的Bean实例的ID。
3480

被折叠的 条评论
为什么被折叠?



