Spring中遇到的問題之aop execution語句
阿新 • • 發佈:2019-01-25
在學習aop的時候配置applicationContext.xml檔案時,在使用execution語句時出現了一個問題
execution 語句格式:
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)
其中
第一個是修飾符(modifiers-pattern)
第二個是返回值(ret-type-pattern)
第三個方法的包名(declaring-type-pattern)
第四個是方法名(name-pattern)
第五個方法引數(param-pattern)
第六個丟擲的異常型別(throws-pattern)
注:帶?表示可有可無
下面表示一個使用 public的方法
execution(public * *(..)) 因為返回型別和方法名必須有 所以是兩個**
以set開始的方法名(注* 和set之間有個空格,這就是我後面出現的問題)
execution(* set*(..))
the execution of any method defined in the service package or a sub-package:
//使用service 包下及子包的方法
execution(* com.xyz.service..*.*(..))
還有很多用法可以參考spring給的參考文件
在使用aop的時候使用的execution語句:
execution(*aop.PersonDaoImpl.*(..))
粗心的沒有加*和a之間的括號導致專案執行不成功!!!