首页 > 编程学习 > SpringBoot整合Redis(SpringBootTest及RedisTemplate)

文章目录

    • 前情提要
    • SpringBoot整合Redis
      • 创建SpringBoot项目
      • pom.xml文件添加依赖及相关配置
      • appliaction.yml设置redis的服务器及端口号
      • 编写启动类RedisApplication
      • 使用SpringBootTest做单元测试
      • 附加:设置RedisTemplate的序列化

前情提要

之前学习了使用Java链接Redis数据库的操作,但在实际的开发中,我们并不使用该方式进行对Redis的操作,而是使用RedisTemplate对Redis进行数据操作

SpringBoot整合Redis

  • 实际上就是添加依赖,使用封装好的模板进行操作
    文件结构如下:
    在这里插入图片描述

创建SpringBoot项目

IDEA :File->New->Project->Maven

pom.xml文件添加依赖及相关配置

	<properties>
        <java.version>1.8</java.version>
    </properties>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--整合redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!--spring boot test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
    </dependencies>

appliaction.yml设置redis的服务器及端口号

在这里插入图片描述

编写启动类RedisApplication

在这里插入图片描述

使用SpringBootTest做单元测试

  • SpringBoot中不能再使用JavaTest做单元测试,而换为SpringBootTest
  • 可以看到在pom.xml中我们已经添加了SpringBootTest的依赖
    RedisTemplateTest的代码如下:
    在这里插入图片描述
    执行setValue后可以从虚拟机打开的Redis服务中获取到username的值
    在这里插入图片描述
    可以看到已经被存入了,之所以显示成这个样子,是因为RedisTemplate中已经对key和value做了序列化
    我们可以通过自主的设置序列化的格式来控制其显示的方式

附加:设置RedisTemplate的序列化

  • RedisTemplate是通过@Autowired方式获取的,那么进行设置时,即将设置好的RedisTemplate注入Bean即可

以下是将Key存为String格式,将Value存为Json格式进行设置
RedisConfig的代码如下:
在这里插入图片描述
注入完成后,那么在使用时需要通过指定Bean的名称进行获取
在这里插入图片描述
从redis中进行获取,可以看到key已经是String格式了
在这里插入图片描述
而Value是Json格式
在这里插入图片描述

Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000