注入依赖对象

两种注解注入依赖对象
@Autowired
@Resource
@Autowired 认按类型装配。
@Resource认按名称装配,当找不到与名称匹配的bean才会按类型装配。
@Autowired
private PersonDao personDao;//用于字段上
@Autowired
public void setorderDao(OrderDao orderDao) {//用于属性的setter方法
this.orderDao = orderDao;
}
@Autowired注解是按类型装配依赖对象,认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。如果我们想使用按名称装配,可以结合@Qualifier注解一起使用。如下: @Autowired @Qualifier("personDaoBean") private PersonDao personDao; @Resource注解和@Autowired一样,也可以标注在字段或属性的setter方法上,但它认按名称装配。名称可以通过@Resource的name属性指定,如果没有指定name属性,当注解标注在字段上,即认取字段的名称作为bean名称寻找依赖对象,当注解标注在属性的setter方法上,即认取属性名作为bean名称寻找依赖对象。 @Resource(name=“personDaoBean”) private PersonDao personDao;//用于字段上 注意:如果没有指定name属性,并且按照认的名称仍然找不到依赖对象时, @Resource注解会回退到按类型装配。但一旦指定了name属性,就只能按名称装配了。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...