
此内容主要介绍基于Ehcache 3.0的Spring Boot应用程序的数据缓存功能. 在Spring Boot应用程序中,我们可以通过Spring Caching快速获取数据缓存.
接下来,我们将分三步显示如何获取Spring Boot缓存.
1. 创建一个Spring Boot项目
您创建的Spring Boot应用程序的maven依赖文件至少应如下所示:
“ 1.0”编码=“ UTF-8”?> <项目 xmlns =“ http://maven.apache.org/POM/4.0.0” xmlns: xsi =“ http: // /www.w3.org/2001/XMLSchema-instance“ project <> xsi: schemaLocation =” http://maven.apache.org/POM/4.0.0“> 4.0.0org.springframework.boot spring-boot -starter-parent 2.1.3.RELEASEcom.ramostear缓存0.0.1-SNAPSHOT缓存Spring Boot1.8org.springframework.boot的演示项目spring-boot-starter-cacheorg.springframework.boot spring-boot-starter-weborg.ehcache ehcachejavax .cache cache-apiorg.springframework.boot spring-boot-starter-test testorg.projectlombok lombokorg.springframework.boot spring-boot-maven-plugin

相关性描述:
2. 配置Ehcache缓存
现在,您需要告诉Spring Boot在哪里可以找到缓存配置文件. 这需要在Spring Boot配置文件中设置:
spring.cache.jcache.config =类路径: ehcache.xml
然后使用@EnableCaching注释启用Spring Boot应用程序缓存功能,您可以在主应用程序类中进行操作:

软件包com.ramostear.cache;导入org.springframework.boot.SpringApplication;导入org.springframework.boot.autoconfigure.SpringBootApplication;导入org.springframework.cache.annotation.EnableCaching; @SpringBootApplication @EnableCaching公共类CacheApplication {公共静态void main(String [] args){SpringApplication.run(CacheApplication.class,args);}}
接下来spring ehcache 缓存,您需要创建一个ehcache配置文件,该文件位于类路径中,例如资源目录:
最后,您还需要定义一个缓存事件侦听器,该侦听器用于记录系统缓存数据的操作. 最快的方法是实现CacheEventListener接口:
包com.ramostear.cache.config;导入org.ehcache.event.CacheEvent;导入org.ehcache.event.CacheEventListener;导入org.slf4j.Logger;导入org.slf4j.LoggerFactory; / ** * @author ramostear * @创建时间2019/4/7 0007-0: 48 * @修改者: * @since: * /公共类PersonCacheEventLogger实现CacheEventListener

要使Spring Boot能够缓存我们的数据,我们还需要使用@Cacheable注释对业务方法进行注释,告诉Spring Boot该方法生成的数据需要添加到缓存中:
packagecom.ramostear.cache.service;
导入com.ramostear.cache.entity.Person;导入org.springframework.cache.annotation.Cacheable;导入org.springframework.stereotype.Service; / ** * @author ramostear * @创建时间2019/4 / 7 0007-0: 51 * @修改者: * @since: * / @Service(value =“ personService”)公共类PersonService {@Cacheable(cacheNames) =“人员”,键=“ #id”)public Person getPerson(Long id){人员person =新人员(id,“ ramostear”,“ ramostear@163.com”);返回人;}}
经过以上三个步骤,我们已经完成了Spring Boot的缓存功能. 接下来,我们将测试缓存的实际情况.
4. 缓存测试

要测试我们的应用程序,请创建一个简单的Restful终结点,该终结点将调用PersonService返回一个Person对象:
包com.ramostear.cache.controller;导入com.ramostear.cache.entity.Person;导入com.ramostear.cache.service.PersonService;导入org.springframework.beans.factory.annotation.Autowired;导入组织. springframework.http.HttpStatus;导入org.springframework.http.ResponseEntity;导入org.springframework.web.bind.annotation.GetMapping;导入org.springframework.web.bind.annotation.PathVariable;导入org.springframework.web.bind. 注解.RequestMapping;导入org.springframework.web.bind.annotation.RestController; / ** * @author ramostear * @创建时间2019/4/7 0007-0: 54 * @修改者: * @since: * / @RestController @RequestMapping(“ / person”)公共类PersonController {@Autowired private PersonService personService; @GetMapping(“ / {id}”)公共ResponseEntity
Person是一个简单的POJO类:
软件包com.ramostear.cache.entity;导入lombok.AllArgsConstructor;导入lombok.Getter;导入lombok.NoArgsConstructor;龙目岛. 导入java.io.Serializable; / ** * @author ramostear * @创建时间2019/4/7 0007-0: 45 * @修改者: * @since: * / @Getter @Setter @AllArgsConstructor @NoArgsConstructor公共类Person实现序列化{private Long id 私有字符串用户名;私人字符串电子邮件;}
所有准备工作完成后,让我们编译并运行该应用程序. 成功启动项目后,使用浏览器打开:: 8080 / people / 1,您将在浏览器页面中看到以下信息:
{“ id”: 1,“用户名”: “ ramostear”,“电子邮件”: “ ramostear@163.com”}
此时观察控制台输出的日志信息:
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-146379-1.html
质检总局都买不着真货