最近跟蹤後臺日誌發現,同類調用的查詢方法,沒有查詢緩存還是查詢的數據庫。網上查了查資料,需要做一些配置。
究其原因,是沒有通過代理來調用方法,我們改成通過代理來調用方法,就可以走緩存了。
1.修改spring配置文件
<aop:aspectj-autoproxy proxy-target-class="true" expose-proxy="true"/>
設置expose-proxy屬性爲true,是爲了將代理暴露出來。
2.通過AopContext.currentProxy()可以獲得當前Service的代理類,再通過 ((Service) AopContext.currentProxy()).method(),這種方式調用目標方法,就可以命中緩存了,不再查詢數據庫了。
參考文章: