利用Spring AOP 快取方法結果集 下

2021-08-29 09:24:39 字數 1477 閱讀 7573

invoke方法中,首先根據key查詢快取(key=classname + methodname + arguments)

,快取中存在則返回,否之呼叫invocation.proceed()返回結果.

在spring配置檔案中定義***

id="methodcacheinterceptor"

class=

"org.taha.interceptor.methodcacheinterceptor"

>

name=

"cache"

>

local=

"methodcache"

/>

id="methodcachepointcut"

class=

"org.springframework.aop.support.regexpmethodpointcutadvisor"

>

name=

"advice"

>

local=

"methodcacheinterceptor"

/>

name=

"patterns"

>

.*methodone

.*methodtwo

id="mybean"

class=

"org.springframework.aop.framework.proxyfactorybean"

>

name=

"target"

>

class=

"org.taha.beans.mybean"

/>

name=

"interceptornames"

>

methodcachepointcut

這裡org.springframework.aop.support.

regexpmethodpointcutadvisor是乙個正規表示式切入點,

使用perl 5的正規表示式的語法, 基jakarta oro。(有空寫個文件,自己研究一下).

name=

"target"

>

class=

"org.taha.beans.mybean"

/>

org.taha.beans.mybean是我們需要做快取處理的類.

methodcachepointcut中

.*methodone

.*methodtwo

則是指定的模式匹配方法,對應於org.taha.beans.mybean中的方法. 這裡指定了2個方法需要做快取處理.

呵呵,就是這麼簡單.這樣每次對org.taha.beans.mybean的methodone方法進行呼叫,都會首先從快取查詢,

其次才會查詢資料庫. 這樣我就不需要在xx.hbm.xml來指定討厭的cache了.也不需要在開發階段來關心快取.

一切aop搞定.. ^_^

利用Spring AOP機制攔截方法一例

直接上 aspect for aop component for auto scan order 0 execute before transactional public class messageinterceptor before messageinsertaspect after messa...

利用spring AOP 實現 sql注入檢測

轉 什麼是sql注入?所謂sql注入,就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。具體來說,它是利用現有應用程式,將 惡意的 sql命令注入到後台資料庫引擎執行的能力,它可以通過在web表單中輸入 惡意 sql語句得到乙個存在安...

mybatis快取利用

mybatis資料快取可分為一級快取 二級快取 一級快取是session會話級別的快取,位於表示一次資料庫會話的sqlsession物件之中,又被稱之為本地快取。一級快取是mybatis內部實現的乙個特性,使用者不能配置,預設情況下自動支援的快取,使用者沒有定製它的權利 不過這也不是絕對的,可以通過...