Redis-3-Java搭建Redis

一、通用配置Jedis(无框架)

Java操作Redis:jar包+API,框架(配置+ jar包+API)

Redis官方推荐的工具类

这里写法是最通用的:和Spring框架没有关系

1.1 spring自动导入连接池的依赖

image-20201029115735897

1.2 基本操作Jedis

image-20201029115813390

1.3 使用连接池

image-20201029120315118

1.4 封装成工具类

image-20201029120402351

1.5 配置信息写入配置文件

image-20201029120713795

image-20201029120803453

也可以这样获取

image-20201029120744752

二、spring配置jedis

这里建的springboot项目,但是并没有用到启动器,只是用到了注入和读配置文件

这里是自定义的配置文件,配置文件中自定义配置信息,自动注入框架bean的属性;SpringBoot有自己的properties配置文件,可以不使用自定义的properties文件

分清自定义jedis的properties和spring自己的配置类,想读到jedis的属性还得配置成框架能认

image-20201029121333643

image-20201029121351650

spring是无法给静态资源注入的,只能给实例成员变量注入,静态变量在创建对象前创建,spring只能做到对创建的对象进行注入,而反射创建对象和注入值都在static赋值的后面执行,所以spring框架无法给static静态变量赋值

image-20201029105403823

3.1 就想注入静态,怎么办?

image-20201029105613513

实现一个生命周期接口,实现afterPropertiesSet()方法(在properties赋值之后执行)

将已经注入的host的值,赋给静态变量HOST。

image-20201029105732903

image-20201029105749680

但是静态代码块的执行顺序在成员变量赋值之前执行,还是取不到值

上面的干预生命周期的方法在静态代码块中无效。

image-20201029110358159

3.2 还是取不到值怎么解决?得绕一圈

只能新建一个配置类,专门配置jedis,然后再绕一下去读这个配置类的成员变量,这个就能读到了,就相当于中间又建了一个类去读,static的先执行无法在一个类中去解决。

image-20201029111255006 image-20201029111304449

读取配置类的信息,jedis工具类就不需要加@Component注解了,因为都是从JedisConstant配置类里获取的

image-20201029111406275

三、SpringBoot整合Redis

一个环境建多个模块,点击这个

image-20201029112121482

image-20201029112202459

4.1 Redis场景启动器

image-20201029112411959

4.2 配置数据

这里才是spring自己的类,可以直接读到,不需要再配置,上面通用配置是需要配置才能让spring读取到

image-20201029112547826 image-20201029121826017

4.3 API

image-20201029121800080

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页