Spring Boot,Eclipse,Redis
准备环境,创建工程 通过 Spring Initializr 创建一个基于 SpringBoot 的应用,涉及的依赖有 Spring Cache Abstraction(Spring缓存抽象),Spring Data Redis(Spring封装的Redis相关依赖),Spring Data JPA,H2 Database,Lombok。工程导出后,导入到Eclipse中。
创建相关的实体类,Repository类和Service类图1示:实体类,需要使用 @Entity 注解,并且使用了 @Data @Builder @EqualsAndHashCode等Lombok注解简化代码开发图2示:Repository类,继承 Spring Data JPA 提供的 JpaRepository 即可图3示:Service类,使用 @CacheConfig 注解,定义缓存名称,注入 Repository类对象,定义一个用于获取所有实体类对象的方法,并使用 @Cacheable 注解,表明对该方法返回值进行缓存
application.properties中添加配置信息,主要添加的配置信息包括:1. JPA根据实体类自动建表,并在控制台输出SQL语句2. Redis服务器地址和端口信息3. Spring Cache相关信息,包括使用 redis 作为cache主体,并配置cache过期时间等
添加初始化数据在 resources 目录中添加 data.sql 文件,包含初始化数据,这些数据在Spring启动时,会自动添加到表中,注意,这种方式只适用于H2这种内存型数据库。
启动类编写测试代码启动类添加 @EnableJpaRepositories、@EnableCaching、@Slf4j 等注解,并实现 CommandLineRunner 接口,在实现的 run 方法中,调用注入的 Service 类实例多次查询数据,线程休眠一段时间(等待缓存过期),再次查询,观察控制台输出。