spring Aop 配置

来源:互联网 发布:mac固件密码解锁 编辑:程序博客网 时间:2024/05/01 10:54

execution(modifiers-pattern?     
  ret-type-pattern declaring-type-pattern?
  name-pattern(param-pattern) throws-pattern?)
  
 
以下为必须的
ret-type-pattern  // 返回类型     1> * 匹配所有返回类型
name-pattern   // 方法名称(全路径的类名等) 1> * 匹配所有方法名称 
param-pattern  // 参数类型     1> (..) 匹配所有参数 2> (*, String) *代表第一个参数类型为任意, 第二个为String

非必须的
modifiers-pattern // 方法修饰(public, protected, private)

 

例子:
1. 修饰类型为public方法, 任意返回类型, 任意方法, 任意参数
 execution(public * *(..))

2. 任意修饰类型的方法, 任意返回类型, 以set开头的方法, 任意参数
 execution(* set*(..))

1. 任意修饰类型的方法, 返回类型为int, 在类UserActionApi下的任何方法, 任意参数
 execution(int com.gitom.attendance.action.api.UserActionApi.*(..))  
 
2. 任意修饰类型的方法, 任意返回类型, 在类UserActionApi下的test方法, 任意参数
 execution(* com.gitom.attendance.action.api.UserActionApi.test(..))
 
2. 任意修饰类型的方法, 任意返回类型, 在类UserActionApi下的test方法, 参数1> 任意类型 2> String
 execution(* com.gitom.attendance.action.api.UserActionApi.test(*,String))

 

<!-- spring 管理 struts2 action -->
 <aop:aspectj-autoproxy />
 
  <aop:config proxy-target-class="true">
  <aop:aspect ref="userFilter">

     <!-- * 包名.类名.所有方法(所有参数) -->
   <aop:pointcut id="userFiltercut" expression="execution(* com.gitom.attendance.action.api.UserActionApi.*(..))" />
   <aop:before method="dofilter" pointcut-ref="userFiltercut"></aop:before>
  </aop:aspect>
 </aop:config>

原创粉丝点击