|
|
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
|
|
import com.fasterxml.jackson.annotation.PropertyAccessor;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.cache.annotation.CachingConfigurerSupport;
|
|
|
import org.springframework.cache.annotation.EnableCaching;
|
|
|
@@ -24,8 +25,10 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
|
|
|
@Configuration
|
|
|
@EnableCaching
|
|
|
@Slf4j
|
|
|
+@AllArgsConstructor
|
|
|
public class RedisConfig extends CachingConfigurerSupport {
|
|
|
|
|
|
+ private final ObjectMapper objectMapper;
|
|
|
@Bean
|
|
|
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
|
|
|
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
|
|
|
@@ -34,15 +37,14 @@ public class RedisConfig extends CachingConfigurerSupport {
|
|
|
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
|
|
|
|
|
|
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
- objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
|
|
- objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
|
|
|
+// ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+// objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
|
|
|
+// objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.WRAPPER_ARRAY);
|
|
|
|
|
|
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
|
|
|
|
|
|
- FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class);
|
|
|
// 设置value的序列化规则和 key的序列化规则
|
|
|
- redisTemplate.setValueSerializer(fastJsonRedisSerializer);
|
|
|
+ redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
|
|
|
redisTemplate.setKeySerializer(new StringRedisSerializer());
|
|
|
|
|
|
redisTemplate.setHashKeySerializer(jackson2JsonRedisSerializer);
|