@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 这篇博文,请悉知!!