Redis自动配置-序列化
背景说明
突然发现项目里的redis没有关于序列化的配置文件,引入了fastjson但是没有地方指定其为项目的redis序列化工具,由此展开的探索
1. 很久之前学springboot的时候听说过spring-boot-configuration-processor
, 但是一直以为只是帮助识别yml里的变量,忘记了最重要的自动配置(仔细想想老师应该是讲过,我忘记了)
2. 探索的过程分为了几步
2.1 如何判断使用Lettuce 还是Jedis
- 配置类的位置:
org.springframework.boot.autoconfigure.data.redis
- 由于没有项目使用的是Lettuce,所以没有引入Jedis,对应的实现的连接工厂类会爆红,自然也不会创建对应的bean
- 对应Lettuce这边的工厂类实现就是不爆红的,能够成功创建bean实例
2.2 确定了注入bean的问题后,再寻找具体在哪里指定的序列化
- 经过一顿问询,还是没有找到为啥项目里引入了fastjson但是没有显示的指定其为序列化机制
- 尝试打印日志,也没有看出来用的啥序列化的机制,总不可能白白引入的吧
- 探索了半天,可能我的项目里确实只用了
StringRedisTemplate
,所以不需要额外配置其他泛型的序列化