在项目中,使用@Autowired注解注入RedisTemplate对象,spring默认scope属性是singleton,也就是单例模式,注入方式使用的是byType,如果指定泛型,可能会造成注入失败。RedisTemplate只支持两种泛型<String, String>和<Object, Object>
解决方案:
1) 去掉泛型
2) 使用@Resource注解(jdk自带的注解),@Resource注解默认使用byName方式,如果byName方式注入失败,会自动使用byType方式注入:
3) 泛型写成<String, String>或者<Object, Object>,使用@Autowired注入