加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

8.2.3: 使用@Resource配置依赖

发布时间:2020-12-13 19:43:57 所属栏目:百科 来源:网络整理
导读:@Resource 位于java.annotation包下,是来自JavaEE规范的一个Annotation,Spring直接借鉴了该Annotation,通过使用该Annotation为目标Bean指定协作者Bean。 @Resource有一个 name属性 ,默认情况下,Spring将这个值解释为需要被注入的Bean实例的名字。换句话

@Resource位于java.annotation包下,是来自JavaEE规范的一个Annotation,Spring直接借鉴了该Annotation,通过使用该Annotation为目标Bean指定协作者Bean。

@Resource有一个name属性,默认情况下,Spring将这个值解释为需要被注入的Bean实例的名字。换句话说,使用@Resource与<property.../>元素的ref属性有相同的效果。

@Component
public class Chinese implements Person {
	
	private Axe axe;
	
	@Resource(name="stoneAxe")
	public void setAxe(Axe axe) {
		this.axe = axe;
	}

	@Override
	public void useAxe() {
		System.out.println(axe.chop());
	}

}
上面的@Resource Annotation指定将stoneAxe注入该setAxe( )方法,也就是将容器中的stoneAxe Bean作为setAxe方法的参数传入。

@Resource不仅可以修饰setter方法,也可以直接修饰Field,使用@Resouce时还可以省略name属性。使用@Resource修饰Field时连setter方法都可以不要:

@Component
public class Chinese implements Person {
	
	@Resource(name="stoneAxe")
	private Axe axe;
	
	@Override
	public void useAxe() {
		System.out.println(axe.chop());
	}

}
① 当使用 @Resource修饰setter方法时,如果省略name属性,例如@Resource标注 setName( )方法,则Spring默认注入容器中名为name的组件。

② 当使用@Resource修饰Field时,如果省略name属性,例如@Resource标注name Field,则Spring默认会注入容器中名为name的组件。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读