@Autowired和@Resource注解都是用于注入bean。Autowired是根据类型注入要求类型必须存在,而Resource是根据名称注入,当名称不存在时才根据类型注入。
在注入redisTemplate,直接使用Autowired注入,启动服务时会出现异常(
The injection point has the following annotations:
@org.springframework.beans.factory.annotation.Autowired(required=true)
)
接解决方案:
1、将注入方式改为Resource即可(推荐)
@Resource
private RedisTemplate<String,Object> redisTemplate;
2、给Autowired加上(required = false)配置
@Autowired(required = false)
private RedisTemplate<String,Object> redisTemplate;
3、类型直接写成RedisTemplate泛型
@Autowired
private RedisTemplate redisTemplate;
本文讨论了@Autowired和@Resource在Spring框架中的不同用途,以及在尝试Autowired注入RedisTemplate时遇到的异常。提供了解决方案,包括改用@Resource、设置Autowired的required属性为false以及直接使用RedisTemplate泛型。
384

被折叠的 条评论
为什么被折叠?



