如何解決redisTemplate注入為空問題
阿新 • • 發佈:2020-07-24
springboot2.*整合redis時,redis工具類中的redisTemplate注入後總是為空。
問題程式碼還原:
1、工具類定義成靜態工具類,@Resource注入redisTemplate
public class RedisCacheUtil { @Resource private static RedisTemplate<String,Object> redisTemplate; /** * 普通快取獲取 * @param key 鍵 * @return 值 */ public static Object get(String key) { return key == null ? null:redisTemplate.opsForValue().get(key); //redisTemplate物件一直為null } }
2、控制層直接呼叫工具類的靜態方法
@RequestMapping("/getCache") public Object getCache(String key){ return RedisCacheUtil.get(key); }
解決方案:
1、將工具類注入到spring容器
@Component //注入spring容器 public class RedisCacheUtil { @Resource private RedisTemplate<String,Object> redisTemplate; /** * 普通快取獲取 * @param key 鍵 * @return 值 */ public Object get(String key) { return key == null ? null : redisTemplate.opsForValue().get(key); } }
2、再將工具類bean注入呼叫方
@Resource private RedisCacheUtil redisCacheUtil; @RequestMapping("/getCache") public Object getCache(String key){ return redisCacheUtil.get(key); }
至此,問題解決,僅做記錄。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。