Spring boot配置cache(ehcache)
spring boot配置快取
第一次配置快取,記錄一下
1. 新增cache依賴
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>2.10.1</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2. 配置cacheConfiguration類
package com.idcos.automate .biz.common.cache;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation .Configuration;
import org.springframework.core.io.ClassPathResource;
@Configuration
@EnableCaching
public class EhcacheConfiguration {
@Bean(name = "ehCacheCacheManager")
public EhCacheCacheManager ehCacheCacheManager(EhCacheManagerFactoryBean bean) {
return new EhCacheCacheManager(bean.getObject ());
}
@Bean
public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {
EhCacheManagerFactoryBean cacheManagerFactoryBean = new EhCacheManagerFactoryBean();
cacheManagerFactoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
cacheManagerFactoryBean.setShared(true);
return cacheManagerFactoryBean;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
3. 配置xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"
updateCheck="false">
<diskStore path="java.io.tmpdir/Tmp_EhCache"/>
<defaultCache eternal="false" maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
timeToIdleSeconds="0" timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU"/>
<cache name="random"
eternal="false"
maxElementsInMemory="100"
overflowToDisk="false"
diskPersistent="false"
timeToIdleSeconds="0"
timeToLiveSeconds="300"
memoryStoreEvictionPolicy="LRU"/>
</ehcache>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
4. 配置cache實現類
package com.idcos.cloud.biz.common.util;
import java.util.List;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.idcos.cloud.core.dal.domain.settings.SettingPlatformDict;
import com.idcos.cloud.core.dal.repository.settings.SettingPlatformDictRepository;
@Service
@CacheConfig
public class CacheUtil {
@Cacheable("random")
public String getRandomString() {
return UUID.randomUUID().toString();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
5. 測試
package pkg_manager;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.idcos.PkgManager;
import com.idcos.cloud.biz.common.util.CacheUtil;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = PkgManager.class)
public class PkgTest {
@Autowired
private CacheUtil CacheUtil;
@Test
public void test() {
testCache();
}
public void testCache() {
Assert.assertNotNull(CacheUtil);
Assert.assertEquals(CacheUtil.getRandomString(), CacheUtil.getRandomString());
System.out.println(CacheUtil.getRandomString());
System.out.println(CacheUtil.getRandomString());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
cacheable註解當中的名稱要與xml配置的名稱一致
configuration當中的xml名稱要與xml的名字一致
6 參考
相關推薦
Spring boot配置cache(ehcache)
spring boot配置快取 第一次配置快取,記錄一下 1. 新增cache依賴 <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</a
Spring boot caffeine cache 配置簡述
簡述 專案使用 Spring boot 開發,需要使用快取功能減少資料庫壓力,主要用來快取一些使用頻率高,更新頻率低的配置資料。選用官方推薦的一種實現—— Caffeine 。 引入依賴 <properties> <spring.boo
Spring Boot 配置文件詳解:Properties和YAML
列表 config 其他 操作系統 des num mat 變量 onf 一.配置文件的生效順序,會對值進行覆蓋: 1. @TestPropertySource 註解 2. 命令行參數 3. Java系統屬性(System.getProperties
spring boot 配置數據源
build -i autowired 1.0 emp aslist private ram apach 以postgreSQL為例,方便下次直接使用。 其中pom.xml引入如下依賴。 <?xml version="1.0" encoding="UTF-8"?>
Spring Boot配置文件規則以及使用方法官方文檔查找以及Spring項目的官方文檔查找方法
lan 屬於 tps pri ati html 查詢 為什麽 發現 比如要使用Spring Boot實現一個功能,最直接的方式是Google,但是往往搜索出來的都比較亂,關鍵是亂在不同的版本上,比如1.x版本和2.x版本的配置是不一樣的。最明顯區別是在使用Thymeleaf
[轉] Spring Boot配置多個DataSource
pro img ssp 情況 每一個 所有 title 進行 rom [From] https://www.liaoxuefeng.com/article/001484212576147b1f07dc0ab9147a1a97662a0bd270c20000 Sprin
Spring Boot參考教程(六)Spring Boot配置Servlet,Filter,Listener,Interceptor
cat http list err oot (六) water iter fontsize 4.2.5. Spring Boot配置Servlet,Filter,Listener,Interceptor 1. 配置Servlet 在開發中一些場景常會使用到servlet
Spring Boot參考教程(五)Spring Boot配置使用之配置類用法
expr web程序 成功 驗證 pan hub parameter lan fix 4.2. SpringBoot配置使用之配置類使用 Spring Boot的大部分自動配置都可以滿足應用要求,但如果想精確的控制應用,或者想覆蓋自動配置,使用配置類是另一種很好的選擇,強調
Spring Boot參考教程(四)Spring Boot配置使用之配置文件用法
point rop 推薦書 endpoint size int == 需要 相同 4.1 Spring Boot配置使用之配置文件用法 Spring Boot旨在簡化配置,但依然需要進行少量配置來滿足應用的特定需要。 配置方式拋棄了XML文件的配置方式,主要使用配置文件
Spring Boot 配置優先級順序
快速 cal yam evel configure 文件讀取 @value request 容器 一般在一個項目中,總是會有好多個環境。比如: 開發環境 -> 測試環境 -> 預發布環境 -> 生產環境 每個環境上的配置文件總是不一樣的,甚至開發環境中
【日常錯誤】spring-boot配置文件讀取不到
無法 pan factory sdn 一個 pre nco span xxx 最近在用spring-boot做項目時,遇到自定義的配置文件無法讀取到的問題,通過在appcation.java類上定義@PropertySource(value = {"classpath:XX
spring-boot配置文件使用
one rop boot 生產 參數 註解註入 環境 開發環境 ring 配置文件格式兩種application.properties和application.yml .yml配置的使用 1、使用@Value("${配置文件中的屬性名}")註解註入配置內容 2、在配置中引用
spring boot配置mybatis和事務管理
生成 很多 -s 順序 south 位置 ron 技術 username spring boot配置mybatis和事務管理 一、spring boot與mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依賴如下: <!-- Spri
Spring Boot配置文件放在jar外部
最大 config文件 cati res 記事本 log classpath dev 不想 Spring Boot程序默認從application.properties或者application.yaml讀取配置,如何將配置信息外置,方便配置呢? 查詢官網,可以得到下面的幾
spring boot guava cache 緩存學習
concat app tails ger art num article ole con http://blog.csdn.net/hy245120020/article/details/78065676 **********************************
Spring Boot 配置swagger2沒有文檔解決方案
post and request oot quest swagger date sele ota @Bean public Docket customImplementation(){ return new Docket(Documentation
詳解Spring Boot配置文件之多環境配置
多個 提高效率 橫線 文件 style ica property form blog 一. 多環境配置的好處: 1.不同環境配置可以配置不同的參數~ 2.便於部署,提高效率,減少出錯~ 二. properties多環境配置 1. 配置激活選項 spring.profile
spring boot 配置swagger UI
require onf efault 字段 url http .cn imp selector springboot集成swaggerUI 有這樣的需求 1.在每個接口上都增加一個字段; 2.接口文檔只展示滿足一定條件URL的接口 配置文件 詳細看代碼 import or
spring boot配置service發布服務
too local can word oot servlet init except def 在application.yml中配置 server: port: 8080 context-path: /crm spring: datasource: d
spring boot 配置fastjson
定義 spa lib serial spring converter res pub nconf spring boot 默認使用的json轉換工具是jackson。 集成fastjson,pom.xml引入fastjson的jar <depen