@Autowired和@Resource区别

来源:互联网 发布:小米3支持电信4g网络吗 编辑:程序博客网 时间:2024/06/05 12:13

1、 @Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。

2、 @Autowired

  • 属于spring,默认按类型装配;
  • 默认情况下必须要求依赖对象必须存在;
    如果要允许null值,可以设置它的required属性为false,如:
@Autowired(required=false)private BaseDao baseDao;
  • 若想使用名称装配,可以结合@Qualifier注解进行使用,如:
@Autowired()@Qualifier("baseDao")private BaseDao baseDao;

3、@Resource

  • 属于J2EE,默认安装名称进行装配,当找不到与名称匹配的bean时才按照类型进行装配。如:
@Resource(name="baseDao")private BaseDao baseDao;