在学习spring的时候,教程上说注解@Resource是根据类型来匹配的,但是有两个相同类型的bean也可以通过

2024-12-01 08:30:23
推荐回答(1个)
回答(1):

@Resource注解注入是根据set方法后面的名字或者直接在注解后面增加属性来匹配的, 根据下面代码来看
@Resource
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
对应的应该是"userDAO"



如果你把方法改成
@Resource
public void setUserDAO2(UserDAO userDAO) {
this.userDAO = userDAO;
}
或者
@Resource(name="userDAO2")
public void setUserDAO(UserDAO userDAO) {
this.userDAO = userDAO;
}
那么就应该对应



所以有两个相同的类,但是注册ID不同,仍可以通过 ,你可以通过修改
的value的值来测试下结果就知道了。