Cannot resolve constructor 'RedisCacheManager(org.springframework.data.redis.core.RedisTemplate)'

1、最近在学习spring boot+redis有关的问题,但是在学习的时候莫名的遇到了一个问题:Cannot resolve constructor 'RedisCacheManager(org.springframework.data.redis.core.RedisTemplate)。这就很难受了问题如下图所示:

Cannot resolve constructor 'RedisCacheManager(org.springframework.data.redis.core.RedisTemplate)'_第1张图片

 2、经过我这半天的功夫百度,谷歌的搜索,我发现我的spring boot的版本是2x以上的版本,搜索的时候发现  在springboot2.x中,RedisCacheManager已经没有了单参数的构造方法。我上边的方法是适用于spring 1x版本的。

3、最终我找到了两位博主的帖子:https://blog.csdn.net/Mirt_/article/details/80934312,https://blog.csdn.net/u013317158/article/details/81285564发现了问题的所在:

最终代码为第一种直接进行构造的方法:

  // 管理缓存
    @Bean
    public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {
        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl( Duration.ofHours(1)); // 设置缓存有效期一小时
        return RedisCacheManager
                .builder( RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory))
                .cacheDefaults(redisCacheConfiguration).build();
    }
通过这种方法,就可以成功的将缓存的时间设置好了。

4、不会用的可以关注我的github账号中的开源项目:https://github.com/shanhelin/allweb/tree/master/redis

里面有相关redis的详解。

你可能感兴趣的:(spring,boot,redis,spring,boot,redis)