1.execution()语法:execution(修饰符 返回值 包.类.方法名(参数) throws异常)
2.修饰符,一般省略
public 公共方法
* 任意
3.返回值,不能省略
void 返回没有值
String 返回值字符串
* 任意
4.包,[省略]
com.gyf.crm 固定包
com.gyf.crm.*.service crm包下面子包任意 (例如:com.gyf.crm.staff.service)
com.gyf.crm.. crm包下面的所有子包(含自己)
com.gyf.crm.*.service.. crm包下面任意子包,固定目录service,service目录任意包
5.类,[省略]
UserServiceImpl 指定类
*Impl 以Impl结尾
User* 以User开头
* 任意
6.方法名,不能省略
addUser 固定方法
add* 以add开头
*Do 以Do结尾
* 任意
7.(参数)
() 无参
(int) 一个整型
(int ,int) 两个
(..) 参数任意
8.throws ,可省略,一般不写。
9.案例
案例1:
execution(* com.gyf.crm.*.service..*.*(..))
案例2:或
<aop:pointcut expression="execution(* com.gyf.crm.service.*.*(..)) ||
execution(* com.gyf.*Do.*(..))" id="myPointCut"/>
within:
匹配包或子包中的方法(了解)
within(com.gyf.aop..*) |
this:
匹配实现接口的代理对象中的方法(了解)
this(com.gyf.aop.user.UserDAO) |
target:
匹配实现接口的目标对象中的方法(了解)
target(com.gyf.aop.user.UserDAO) |
args:
匹配参数格式符合标准的方法(了解)
args(int,int) |
bean(id)
对指定的bean所有的方法(了解)
bean('userServiceId') |