當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot文档阅读笔记=Caching Data with Spring
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot文档阅读笔记=Caching Data with Spring
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
此篇博文展示了使用Spring去管理Bean開啟緩存。
?
maven如下:
<?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>cn.it1995</groupId><artifactId>CacheDataDemo</artifactId><version>1.0</version><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>2.1.10.RELEASE</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional><version>1.18.12</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.1.10.RELEASE</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.2.2.RELEASE</version></plugin></plugins></build></project>創建Book的模型,用于查詢時返回對象:
Book.java
package cn.it1995.object;import lombok.Data;@Data public class Book {private String isbn;private String title;public Book(String isbn, String title) {this.isbn = isbn;this.title = title;} }創建Book倉庫接口:
package cn.it1995.repository;import cn.it1995.object.Book;public interface BookRepository {Book getByIsbn(String isbn); }接口的實現:
package cn.it1995.repository.impl;import cn.it1995.object.Book; import cn.it1995.repository.BookRepository; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Component;@Component public class SimpleBookRepository implements BookRepository {@Override // @Cacheable("books")public Book getByIsbn(String isbn) {simulateSlowService();return new Book(isbn, "Some book");}private void simulateSlowService(){try{long time = 3000L;Thread.sleep(time);}catch(InterruptedException e){e.printStackTrace();}} }入口函數:
package cn.it1995;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching;@SpringBootApplication //@EnableCaching public class CacheDataDemoMain {public static void main(String[] args){SpringApplication.run(CacheDataDemoMain.class);} }調用如下:
package cn.it1995;import cn.it1995.repository.BookRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component;@Component public class AppRunner implements CommandLineRunner {private static final Logger logger = LoggerFactory.getLogger(AppRunner.class);private final BookRepository bookRepository;public AppRunner(BookRepository bookRepository){this.bookRepository = bookRepository;}@Overridepublic void run(String... args){logger.info("......Fetching books......");logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234"));logger.info("isbn-4567 -->" + bookRepository.getByIsbn("isbn-4567"));logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234"));logger.info("isbn-4567 -->" + bookRepository.getByIsbn("isbn-4567"));logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234"));logger.info("isbn-1234 -->" + bookRepository.getByIsbn("isbn-1234"));} }開啟緩存只要將上面注釋放開就可以了。
?
未開啟緩存時,程序運行如下:
開啟緩存后,程序運行如下:
從中可以看到,如果查找相同的數據,開啟緩存后,基本上都是秒回。
?
源碼打包下載地址:
https://github.com/fengfanchen/Java/tree/master/CacheDataDemo
總結
以上是生活随笔為你收集整理的Spring Boot文档阅读笔记=Caching Data with Spring的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt文档阅读笔记-Broadcast S
- 下一篇: canvas笔记-arcTo的使用及绘制