@resource和@autowired 有什么不一样呐?

由于项目中,

@Resource(name="redisTemplate")
private HashOperations<String,String,String> hashOperations;

@Autowired
private RedisTemplate redisTemplate;

先说说相同点:@Resource 和@autowired 均是注解,都是自动装配bean的; 

不同:Autowired

(1)默认按类型注入;

(2)依赖对象必须存在,如果要允许null值,可以设置它的required属性为false   @Autowired(required=false);

(3)如果要使用名称装配,配合@Qualifier注解,

@Autowired

@Qualifier(value="predicteDao")

Resource 

(1)默认按名称进行注入,通过name属性进行指定对应bean的Id或者name;

@Resource(name="predicteDao")

(2)实践证明,不使用name也可,比如

@Resource
private PredictedDao predictedDao;

默认会按类型注入,和 @Autowired效果一样。

这个文章很多来自于  https://blog.csdn.net/u010188178/article/details/84033789 这篇博文,请悉知!!

posted @ 2019-03-26 10:29  dangerous_11  阅读(258)  评论(0)    收藏  举报