zoukankan      html  css  js  c++  java
  • redisTemplate注入为空

    springboot2.*集成redis时,redis工具类中的redisTemplate注入后总是为空。

    • 问题代码还原:

      1、工具类定义成静态工具类,@Resource注入redisTemplate

     1 public class RedisCacheUtil {
     2     @Resource
     3     private static RedisTemplate<String, Object> redisTemplate;
     4 
     5     /**
     6      * 普通缓存获取
     7      * @param key 键
     8      * @return 9      */
    10     public static Object get(String key) {
    11         return key == null ? null:redisTemplate.opsForValue().get(key); //redisTemplate对象一直为null
    12     }
    13 }    

      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);
        }

    至此,问题解决,仅做记录。

  • 相关阅读:
    python基础(十七、变量进阶
    python基础(十六、变量进阶
    python基础(十五、变量进阶
    python基础(十四、变量进阶
    python基础(十三、综合应用
    MySQL-索引失效原理
    MySQL-忘记密码
    OSI七层模型
    Python-socket通信
    Python-编程小技巧
  • 原文地址:https://www.cnblogs.com/malefeng/p/10416557.html
Copyright © 2011-2022 走看看