SpringBoot引入Redis報org.springframework.data.redis.core.RedisTemplate類找不到錯誤問題
SpringBoot引入Redis報org.springframework.data.redis.core.RedisTemplate
在學習Redis時,發(fā)現導入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開發(fā)程序的時候,是不是需要部署到遠程SSH服務器運行呢,當然也可以直接在idea軟件內容實現配置部署操作,接下來通過本文給大家分享利用Intellij Idea連接遠程服務器實現遠程上傳部署功能,感興趣的朋友跟隨小編一起看看吧2021-05-05如何在Java SpringBoot項目中配置動態(tài)數據源你知道嗎
這篇文章主要介紹了SpringBoot如何在運行時動態(tài)添加數據源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2021-09-09基于Java Springboot + Vue + MyBatis實現音樂播放系統
這篇文章主要介紹了一個完整的音樂播放系統是基于Java Springboot + Vue + MyBatis編寫的,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08Springboot的ThreadPoolTaskScheduler線程池輕松搞定15分鐘不操作自動取消訂單
這篇文章主要介紹了Springboot的ThreadPoolTaskScheduler線程池輕松搞定15分鐘不操作自動取消訂單,本文給大家介紹的非常詳細,需要的朋友可以參考下2025-01-01Spring 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模式則保持文件夾結構上傳,開發(fā)時建議使用warexploded模式,方便利用Update classes and resources功能自動更新2024-10-10