zoukankan      html  css  js  c++  java
  • 配置RedisTemplate Config

    import com.fasterxml.jackson.annotation.JsonAutoDetect;
    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 org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Configurable;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
    import org.springframework.data.redis.serializer.StringRedisSerializer;
    
    @Configurable
     class RedisTemplateConfig {
    
        @Autowired
        public RedisTemplateConfig(RedisTemplate redisTemplate){
            // 1. 创建jackson序列化方式
            Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(
                    Object.class);
            // 2. 创建object mapper
            ObjectMapper objectMapper = new ObjectMapper();
            // 允许访问对象的所有属性
            objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
            // 转换json过程中保存类信息
            objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL,
                    JsonTypeInfo.As.WRAPPER_ARRAY);
    
            jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
    
            StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
    
            // 设置value的序列化规则和key的序列化规则
            redisTemplate.setKeySerializer(stringRedisSerializer);
            // jackson2JsonRedisSerializer 就是JSON的序列号规则
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            // 设置hash类型key/value序列化
            redisTemplate.setHashKeySerializer(stringRedisSerializer);
            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
            // 工厂创建redisTemplate对象之后在进行配置
            redisTemplate.afterPropertiesSet();
        }
    }
  • 相关阅读:
    减肥 day1
    这两天的学习内容
    小马激活工具激活系统导致系统崩溃
    mac OS X下Java项目环境搭建+IntelliJ IDEA Jrebel插件安装与破解+Office 2016破解版安装
    JDK 动态代理实现原理
    php ajax提交post请求出现数组被截断情况的解决方法
    mac OS X下git代码行统计命令
    mac OS X下安装Redis及Thinkphp3.1使用Redis
    linux服务器git pull/push时提示输入账号密码之免除设置
    linux服务器修改ftp默认21端口方法
  • 原文地址:https://www.cnblogs.com/yhc-love-cl/p/15131993.html
Copyright © 2011-2022 走看看