Cacheable不生效的原因 方法內呼叫

2022-06-05 07:03:06 字數 437 閱讀 3055

乙個類中有方法a和方法b,呼叫方法a時,每次都會呼叫資料庫。和期望不符。

/**

* 方法a

*/public manager info()

/*** 方法b

*/@cacheable(key = "#id")

public manager info(long id)

spring 快取註解是基於spring aop切面,必須走**才能生效,同類呼叫或者子類呼叫父類帶有快取註解的方法時屬於內部呼叫,沒有走**,所以註解不生效。

方式一:將快取的方法抽離放到乙個單獨的類中,然後再在service的實現類中進行呼叫;

方式二:手動使用cachemanager來獲得快取效果。

以下情形註解式快取是不起作用的:

同乙個bean內部方法呼叫,子類呼叫父類中有快取註解的方法

Cacheable註解不生效原因

cacheable註解中 乙個方法a調同乙個類裡的另乙個有快取註解的方法b,這樣是不走快取的。例如在同乙個service裡面兩個方法的呼叫,快取是不生效的 解決方案 1.不使用註解的方式,直接取 ehcache 的 cachemanger 物件,把需要快取的資料放到裡面,類似於使用 map,快取的邏...

git ignore不生效原因

有時候我們配置了git ignore 發現不生效,每次提交的時候,有些加入到了ignore的檔案沒有過濾掉,這是因為我們最開始將那些應該過濾的檔案加入到了版本控制。所以解決辦法就是把它們從版本控制移除。我們需要先把本地快取刪除,然後再更新一下ignore檔案。在我們的專案目錄,開啟git bash,...

shiro許可權不生效原因分析

許可權標籤定義如下 標籤定義 頁面一頁面二 第一層級 one view two view 第二層級 one page1 view two page2 view 第三層級 one page1 view add two page2 view add 開始懷疑是資料庫沒有錄入,檢視後許可權標籤與角色已對應...