一、通用配置Jedis(无框架)
Java操作Redis:jar包+API,框架(配置+ jar包+API)
Redis官方推荐的工具类
这里写法是最通用的:和Spring框架没有关系
1.1 spring自动导入连接池的依赖
1.2 基本操作Jedis
1.3 使用连接池
1.4 封装成工具类
1.5 配置信息写入配置文件
也可以这样获取
二、spring配置jedis
这里建的springboot项目,但是并没有用到启动器,只是用到了注入和读配置文件
这里是自定义的配置文件,配置文件中自定义配置信息,自动注入框架bean的属性;SpringBoot有自己的properties配置文件,可以不使用自定义的properties文件
分清自定义jedis的properties和spring自己的配置类,想读到jedis的属性还得配置成框架能认
spring是无法给静态资源注入的,只能给实例成员变量注入,静态变量在创建对象前创建,spring只能做到对创建的对象进行注入,而反射创建对象和注入值都在static赋值的后面执行,所以spring框架无法给static静态变量赋值
3.1 就想注入静态,怎么办?
实现一个生命周期接口,实现afterPropertiesSet()方法(在properties赋值之后执行)
将已经注入的host的值,赋给静态变量HOST。
但是静态代码块的执行顺序在成员变量赋值之前执行,还是取不到值
上面的干预生命周期的方法在静态代码块中无效。
3.2 还是取不到值怎么解决?得绕一圈
只能新建一个配置类,专门配置jedis,然后再绕一下去读这个配置类的成员变量,这个就能读到了,就相当于中间又建了一个类去读,static的先执行无法在一个类中去解决。
读取配置类的信息,jedis工具类就不需要加@Component注解了,因为都是从JedisConstant配置类里获取的
三、SpringBoot整合Redis
一个环境建多个模块,点击这个
4.1 Redis场景启动器
4.2 配置数据
这里才是spring自己的类,可以直接读到,不需要再配置,上面通用配置是需要配置才能让spring读取到