手动写一个redis连接组件
项目名可以命名为redis-spring-boot-starter 注意:spring-boot-starter 开头的组件都是官方定义的。
第一步:创建一个springBoot项目 导入以下依赖
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>3.15.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.6.4</version>
<optional>true</optional>
</dependency>
第二步:写一个实体类用来读取我们application.properties文件的配置(相当于是我们定义的规范,然后别人在配置文件里面以我们定义的规范来进行属性的赋值)如下图,通过ConfigurationProperties指定读取配置的前缀,接着定义我们要的属性名称。
第三步:写一个Configuration配置类,加上@EnableConfigurationProperties注解引入我们前面写的要读取配置的实体类。
然后定义我们要返回连接的RedissonClient Bean 参数则是@EnableConfigurationProperties引入的我们写的读取的实体类,接着连接端口地址,过期时间,密码,就用我们实体类的值,接着我们打印一段话,地址和端口,提醒是否连接成功。
第四步:也就是最重要的一步,在我们的resources目录下面新建一个META-INF文件夹,新增一个是spring.factories这样一个文件写入 以org.springframework.boot.autoconfigure.EnableAutoConfiguration KEY结尾的后面写上Value 也就是我们上面Configuration配置类的全限定名。
第五步:接着maven-install 一下打包到我们的本地仓库
第六步:测试,新建另外一个项目导入我们上面打包后的依赖和springboot 的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.example</groupId>
<artifactId>redistest</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
第七步:配置redis连接 ,可以看到是以我们实体类定义的前缀名称pattern.text开头的,然后属性都是我们实体类定义的。
第八步:编写一个controller 测试redis里面的key 有多少,注入我们写的redissonClient Bean
第九步:启动我们这个项目然后看启动日志,可以看到我们的redis已经连接成功了。
测试:访问地址可以看到我们查到的数据有4个key
进入容器查看redis 的key,可以看到有4个key,那么到这里我们自己写的starter组件就完成了。