Spring @Cacheable注解無法生效或不起作用的問題整理


Spring 緩存注解是基於Spring AOP切面,必須走代理才能生效,同類調用或者子類調用父類帶有緩存注解的方法時屬於內部調用,沒有走代理,所以注解不生效。

 

解決方法:

方式一:將緩存的方法抽離放到一個單獨的類中,然后再在service的實現類中進行調用;

方式二:手動使用CacheManager來獲得緩存效果。

 

總結:

@Cacheable注解式緩存使用的要點:

1、正確的注解式緩存配置,注解對象為spring管理的hean,

2、調用者為另一個對象。

以下情形注解式緩存是不起作用的:同一個bean內部方法調用,子類調用父類中有緩存注解的方法

原因:因為@Cacheable是基於Spring AOP切面,必須走代理才有效。

 

轉載地址:http://silenter.cn/64.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM