SpringBoot引入Redis报org.springframework.data.redis.core.RedisTemplate类找不到错误问题
SpringBoot引入Redis报org.springframework.data.redis.core.RedisTemplate
在学习Redis时,发现导入RedisTemplate和RedisCacheManager失败,反复思索,终于找到解决办法,至此记下以便日后查阅。
pom.xml引入如下:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
</dependency>RedisConfig类代码:
package com.neo.SpringBoot.config;
import java.lang.reflect.Method;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.KeyGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
public KeyGenerator keyGenerator() {
return new KeyGenerator() {
@Override
public Object generate(Object target, Method method, Object... params) {
StringBuilder sb = new StringBuilder();
sb.append(target.getClass().getName());
sb.append(method.getName());
for (Object object : params) {
sb.append(object.toString());
}
return sb.toString();
}
};
}
@SuppressWarnings("rawtypes")
@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
// 设置缓存的过期时间
// rcm.setDefaultExpiration(60);//秒
return rcm;
}
@Bean
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {
StringRedisTemplate template = new StringRedisTemplate(factory);
Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(
Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setValueSerializer(jackson2JsonRedisSerializer);
template.afterPropertiesSet();
return template;
}
}
报错引用:

解决
在pom.xml中加入版本号即可
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.7.1.RELEASE</version>
</dependency>类找不到问题解决

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- 如何解决Could not transfer artifact org.springframework.boot问题
- 程序包org.springframework.boot不存在的问题解决
- java:无法访问org.springframework.boot.SpringApplication问题
- 程序包org.springframework不存在的解决办法
- org.springframework.web.client.ResourceAccessException资源访问错误的解决方法
- Java报错:Error:java: 程序包org.springframework.boot不存在解决办法
- SpringFramework中的数据校验方式
相关文章
利用Intellij Idea连接远程服务器实现远程上传部署功能
大家在使用Intellij Idea开发程序的时候,是不是需要部署到远程SSH服务器运行呢,当然也可以直接在idea软件内容实现配置部署操作,接下来通过本文给大家分享利用Intellij Idea连接远程服务器实现远程上传部署功能,感兴趣的朋友跟随小编一起看看吧2021-05-05
如何在Java SpringBoot项目中配置动态数据源你知道吗
这篇文章主要介绍了SpringBoot如何在运行时动态添加数据源,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2021-09-09
基于Java Springboot + Vue + MyBatis实现音乐播放系统
这篇文章主要介绍了一个完整的音乐播放系统是基于Java Springboot + Vue + MyBatis编写的,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-08-08
Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单
这篇文章主要介绍了Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单,本文给大家介绍的非常详细,需要的朋友可以参考下2025-01-01
Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL)
MyBatis-Plus是MyBatis的增强工具,本文主要介绍了Spring Boot整合MybatisPlus逆向工程(MySQL/PostgreSQL),具有一定的参考价值,感兴趣的可以了解一下2021-07-07
解决maven项目tomcat启动失败war exploded:Error during
在SpringMVC项目中,使用war和warexploded两种部署方式可能会导致不同的路径问题,从而出现404错误,war模式将项目打包上传,而warexploded模式则保持文件夹结构上传,开发时建议使用warexploded模式,方便利用Update classes and resources功能自动更新2024-10-10


最新评论