spring boot 整合redis

简单记录一下spring 整合redis步骤:

老规矩,跟整合mybatis一样的步骤

1、创建Maven工程,不需要转war包(spring boot有内置的tomcat,可以直接运行jar包)

2、使用spring boot三步法:

  (1)添加parent(继承原因,它能直接管理大部分需要的依赖j的ar包版本,能避免版本冲突,从而不需要parent工程了)

  (2)添加初步依赖(这里添加spring boot和整合mybatis的初步依赖)

  (3)创建启动类(启动类要额外加注解@MapperScan(basePackages = "com.xxxx.dao"  目的是扫描这个包中的dao接口)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.itheima</groupId>
    <artifactId>spring_boot_demo05</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.3.4.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>

</project>

  

3、前面几步完成后,需要创建application.yml文件(也可以是properties文件,但必须是application开头的文件名):

  (1)需要配置当前使用环境

  (2)在开发环境中配置tomcat端口号(默认8080)

  (3)在开发环境中配置注册驱动的相关信息

  (4)redis的相关配置

  (5)如果没有采用在resources目录中创建跟dao相同路径的方式,而是直接在resources根目录下创建mappers包存放mapper映射文件的话,需要配置指定mapper文件路径

 

这里我没有上有注释的配置文件了,如果看不懂下面的代码的话,去看看我整合mybatis的随笔就能懂了,非常简单

spring:
  profiles:
    active: dev

---
server:
  port: 8080

spring:
  profiles: dev
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost/abc111?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
    username: root
    password: xxxx

redis:
  host: localhost
  prrt: 6379

mybatis:
  mapper-locations: classpath:mappers/*Dao.xml

 

启动类还是一样,没有变化,也可以直接看整合mybatis的随笔中的代码,这里不挂了,但是我觉得可以挂一下操作redis的简单代码操作

@Service
public class ServiceImpl {
    @Autowired
    //报错,不管,因为程序启动就会扫描到这个接口
    private UserDao userDao;
    
    //这个就是操作redis的类了
    @Autowired
    private RedisTemplate redisTemplate;

    public User findById(Integer id){
        //先从redis 中查询
        //redisTemplate.opsForValue().get   表示操作五种数据类型中的string类型  .get是获取
        User user = (User) redisTemplate.opsForValue().get("user_"+id);
        //判断redis中是否有数据
        if (user!=null){
            return user;
        }
        //如果redis中没有,从sql中查询
        User userSql = userDao.findById(id);
        //查到数据先放入redis中存储
        //redisTemplate.opsForValue().set   表示操作五种数据类型中的String   .set是添加
        redisTemplate.opsForValue().set("user_"+id,userSql);
        //再返回查到的数据
        return userSql;
    }
}

 

这里注意,pojo一定要实现Serializable接口,因为这里涉及到序列化和反序列化的操作

 

posted @ 2020-10-28 00:52  名难  阅读(170)  评论(0编辑  收藏  举报