一 配置檔案
<?xml version="1.0" encoding="gbk"?>
二 屬性檔案
<?xml version="1.0" encoding="gbk"?>
三 領域模型
public class user
public user(string name, int age)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
} 四 service
1 介面類
public inte***ce userservice
2 實現類
import org.springframework.stereotype.service;
import org.springframework.cache.annotation.cacheable;
import org.springframework.cache.annotation.cacheevict;
import org.springframework.context.annotation.scope;
@service("userservice")
@cacheable(value = "users")
public class userserviceimpl implements userservice
public user getanotheruser(string name, int age)
// 指定根據name、age引數清除快取
@cacheevict(value = "users")
public void evictuser(string name, int age)
// 指定清除user快取區所有快取資料
@cacheevict(value = "users" , allentries=true)
public void evictall()
} 五 測試類
package lee;
public class springtest
}
六 測試結果
--正在執行findusersbynameandage()查詢方法--
--正在執行findanotheruser()查詢方法--
--正在清空豬八戒 , 400對應的快取--
--正在執行findanotheruser()查詢方法--
false
true
--正在清空整個快取--
--正在執行findanotheruser()查詢方法--
--正在執行findanotheruser()查詢方法--
false
false
Spring實戰 快取
提到快取,你能想到什麼?一級快取,二級快取,web快取,redis 你所能想到的各種包羅永珍存在的打著快取旗號存在的各種技術或者實現,無非都是宣揚快取技術的優勢就是快,無需反覆查詢等。當然,這裡要講的不是一級二級,也不是redis,而是spring的快取支援。當時基於工作上的業務場景,考慮需要用到快...
Spring實戰 快取使用condition
一 配置檔案 二 屬性檔案 三 領域模型 public class user public user string name,int age public string getname public void setname string name public int getage public ...
Spring註解快取設計原理及實戰
spring 3.1後引入註解快取,其本質不是乙個具體的快取實現,而是乙個對快取使用的抽象。通過在既有 中新增少量自定義註解,即可夠達到使用快取物件和快取方法的返回物件的效果。spring的快取技術具備相當的靈活性,不僅能夠使用spel來定義快取的key和各種condition,還提供開箱即用的快取...