fix(redis): 对齐 Redisson 自动配置兼容逻辑
- Redis 自动配置切换为 RedissonAutoConfigurationV2 - RedisTemplate 复用同一个 JSON RedisSerializer - 保持 RedisSerializer.json() 历史序列化格式 - 保留 JavaTimeModule 处理 LocalDateTime 序列化master
parent
8a4a8f8fd3
commit
2dcb4559c4
|
|
@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.redis.config;
|
||||||
import cn.hutool.core.util.ReflectUtil;
|
import cn.hutool.core.util.ReflectUtil;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
import org.redisson.spring.starter.RedissonAutoConfiguration;
|
import org.redisson.spring.starter.RedissonAutoConfigurationV2;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||||
|
|
@ -13,7 +13,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
|
||||||
/**
|
/**
|
||||||
* Redis 配置类
|
* Redis 配置类
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(before = RedissonAutoConfiguration.class) // 目的:使用自己定义的 RedisTemplate Bean
|
@AutoConfiguration(before = RedissonAutoConfigurationV2.class) // 目的:使用自己定义的 RedisTemplate Bean
|
||||||
public class YudaoRedisAutoConfiguration {
|
public class YudaoRedisAutoConfiguration {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,9 +28,10 @@ public class YudaoRedisAutoConfiguration {
|
||||||
// 使用 String 序列化方式,序列化 KEY 。
|
// 使用 String 序列化方式,序列化 KEY 。
|
||||||
template.setKeySerializer(RedisSerializer.string());
|
template.setKeySerializer(RedisSerializer.string());
|
||||||
template.setHashKeySerializer(RedisSerializer.string());
|
template.setHashKeySerializer(RedisSerializer.string());
|
||||||
// 使用 JSON 序列化方式(库是 Jackson ),序列化 VALUE 。
|
// 使用 JSON 序列化方式,序列化 VALUE
|
||||||
template.setValueSerializer(buildRedisSerializer());
|
RedisSerializer<?> redisSerializer = buildRedisSerializer();
|
||||||
template.setHashValueSerializer(buildRedisSerializer());
|
template.setValueSerializer(redisSerializer);
|
||||||
|
template.setHashValueSerializer(redisSerializer);
|
||||||
return template;
|
return template;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import cn.iocoder.yudao.framework.test.config.RedisTestConfiguration;
|
||||||
import cn.iocoder.yudao.framework.test.config.SqlInitializationTestConfiguration;
|
import cn.iocoder.yudao.framework.test.config.SqlInitializationTestConfiguration;
|
||||||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
|
||||||
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
|
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
|
||||||
import org.redisson.spring.starter.RedissonAutoConfiguration;
|
import org.redisson.spring.starter.RedissonAutoConfigurationV2;
|
||||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
|
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
|
||||||
|
|
@ -44,7 +44,7 @@ public class BaseDbAndRedisUnitTest {
|
||||||
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
||||||
YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
|
YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
|
||||||
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
||||||
RedissonAutoConfiguration.class, // Redisson 自动配置类
|
RedissonAutoConfigurationV2.class, // Redisson 自动配置类
|
||||||
|
|
||||||
// 其它配置类
|
// 其它配置类
|
||||||
SpringUtil.class
|
SpringUtil.class
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package cn.iocoder.yudao.framework.test.core.ut;
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
|
import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
|
||||||
import cn.iocoder.yudao.framework.test.config.RedisTestConfiguration;
|
import cn.iocoder.yudao.framework.test.config.RedisTestConfiguration;
|
||||||
import org.redisson.spring.starter.RedissonAutoConfiguration;
|
import org.redisson.spring.starter.RedissonAutoConfigurationV2;
|
||||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
import org.springframework.context.annotation.Import;
|
import org.springframework.context.annotation.Import;
|
||||||
|
|
@ -25,7 +25,7 @@ public class BaseRedisUnitTest {
|
||||||
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
|
||||||
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
RedisAutoConfiguration.class, // Spring Redis 自动配置类
|
||||||
YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
|
YudaoRedisAutoConfiguration.class, // 自己的 Redis 配置类
|
||||||
RedissonAutoConfiguration.class, // Redisson 自动配置类
|
RedissonAutoConfigurationV2.class, // Redisson 自动配置类
|
||||||
|
|
||||||
// 其它配置类
|
// 其它配置类
|
||||||
SpringUtil.class
|
SpringUtil.class
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue