Spring整合Redis解决序列化问题

springBoot中使用RedisTemplate会出现乱码

于是在启动类中,定义Bean给它的Key和Value分别设置序列化就可以了

@SpringBootApplication
@MapperScan(basePackages = "com.doit.leon.dao")
//MapperScan 用于扫描指定包下的所有的接口,将接口产生代理对象交给spriing容器
public class MybatisApplication {
    public static void main(String[] args) {
        SpringApplication.run(MybatisApplication.class,args);
    }

    @Bean
    public RedisTemplate<Object, Object> redisTemplate(
        RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(redisConnectionFactory);
        //设置key的值为字符串序列化方式 那么在使用过程中key 一定只能是字符串
        template.setKeySerializer(new StringRedisSerializer());
        //设置value的序列化机制为JDK自带的方式
        template.setValueSerializer(new JdkSerializationRedisSerializer());
        return template;
    }
}

猜你喜欢

转载自www.cnblogs.com/winter-shadow/p/12444732.html
今日推荐