RedisTemplate序列化器

当我们从maven导入redis相关依赖之后,会在

该文件下存在RedisAutoConfiguration的全类名来供springboot自动装配.

 在RedisTmplate中可以看到当我们存在RedisOperations这个类时(导入的依赖)则会加载当前类,并且在ioc容器中没有redisTemplate这个对象的时候将RedisTemplate这个对象导入到ioc容器中.

 然后我们可以看到在RedisTemplate这个类中继承了RedisAccessor这个类

在RedisAccessor这个类中又实现了InitializingBean这个接口

 该接口下提供了一个afterPropertiesSet方法,调用redisTemplate相关的set方法的时候会触发在

RedisTemplate类中的afterPropertiesSet方法(继承之后优先使用子类的方法)

 可以看到该方法先判断

defaultSerializer是否为null如果为null则提供一个jdk序列化器和反序列化器,然后判断键的序列化器和值的序列化器是否为空,可以看到初始值是为空的,所以将刚刚创建的jdk序列化器赋值给键序列化器和值序列化器.这样我们在不设定序列化器的情况下默认就是使用的jdk序列化器.

 

 那该如何自定义序列化器呢?

我们知道redisTemplate是springboot在ioc容器中不存在该bean的时候自动装配的,那我们可以自己手动提供一个,使用我们自己的RedisTemplate这样就可以指定序列化器,从而不使用默认的jdk序列化器.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值