b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Spring Boot通过三个步骤集成了Ehcache缓存!

电脑杂谈  发布时间:2020-03-20 20:19:20  来源:网络整理

spring mvc ehcache缓存_spring ehcache 缓存_spring缓存和redis缓存

此内容主要介绍基于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“ 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

spring mvc ehcache缓存_spring ehcache 缓存_spring缓存和redis缓存

相关性描述:

2. 配置Ehcache缓存

现在,您需要告诉Spring Boot在哪里可以找到缓存配置文件. 这需要在Spring Boot配置文件中设置:

spring.cache.jcache.config =类路径: ehcache.xml

然后使用@EnableCaching注释启用Spring Boot应用程序缓存功能,您可以在主应用程序类中进行操作:

spring ehcache 缓存_spring mvc ehcache缓存_spring缓存和redis缓存

软件包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配置文件,该文件位于类路径中,例如资源目录:

xmlns: xsi =“ http://www.w3.org/2001/XMLSchema-instance” xmlns =“ http://www.ehcache.org/ v3“ xmlns: jsr107 =” http://www.ehcache.org/v3/jsr107“ xsi: schemaLocation =” http://www.ehcache.org/schema/ehcache-core-3.0.xsd http: // www .ehcache.org / schema / ehcache-107-ext-3.0.xsd“> enable-statistics =” true“ /> 别名=”人“> java.lang.Long com.ramostear.cache.entity.Person 单位=”分钟“> 1 com.ramostear .cache.config.PersonCacheEventLogger异步spring ehcache 缓存,无序创建,更新,过期,已删除, unit =“ entries”> 2000 unit =“ MB”> 100

最后,您还需要定义一个缓存事件侦听器,该侦听器用于记录系统缓存数据的操作. 最快的方法是实现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 {私有静态最终Logger记录器= LoggerFactory.getLogger(PersonCacheEventLogger. class); @Override public voidbox-sizing: 边框框!重要; -webkit-tap-highlight-color: rgba(0,0,0,0);边距: 0px;填充: 0px;最大宽度: 100%;自动换行: 断词!重要;颜色: rgb(209,151,217); “> CacheEvent cacheEvent){logger.info(“人缓存事件{} {} {} {}”,cacheEvent.getType,cacheEvent.getKey,cacheEvent.getOldValue,cacheEvent.getNewValue);}} 3.使用@Cacheable注释

spring mvc ehcache缓存_spring ehcache 缓存_spring缓存和redis缓存

要使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. 缓存测试

spring缓存和redis缓存_spring ehcache 缓存_spring mvc ehcache缓存

要测试我们的应用程序,请创建一个简单的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 人(@PathVariable(value =“ id”)长id){返回新的ResponseEntity <>(personService.getPerson(id),HttpStatus.OK);}}

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

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...