由于項目需要使用SpringCache來做一點緩存,但自己之前沒有使用過(其實是沒有聽過)SpringCache,于是,必須先學習之。
顯然,就是在同一個類中,MethodA 調用了 MethodB,那么 MethodB 上面的?@Cacheable 注釋就會失效!
而解決辦法,人家也說了,如下圖:
就是:SpringAOP 無法解決,需要使用 AspectJ 來解決!
那么,接下來的問題就是:如何從 SpringAOP 切換到 AspectJ 呢?
網上搜索了一大堆(至于當時自己到底是如何一步一步搜索到結果的,已經記不得了),最后找到的解決辦法如下:
第一步:
SpringCache默認的 mode = proxy,需要將其設置為mode = aspectj,如下2圖所示
以前的:
修改后:
那這個 mode 到底是個什么意思呢?查看 XSD 文件,說明如下: