切入点表达式说明

切入点表达式说明

aop:pointcut配置切入点表达式

1 <aop:pointcut  expression="execution(public void com.service.impl.CustomerServiceImpl.saveCustomer())"  id="pt1"/>

表达式语法:

1 execution([修饰符] 返回值类型 包名.类名.方法名(参数))
2 
3 execution( public void com.service.UserServiceImpl.saveCustomer(Customer customer) )

对表达式进行优化

1.全匹配写法

1 execution( public void com.service.UserServiceImpl.saveCustomer(Customer customer) )

2.默认 public 可以省略

1  execution( void com.service.UserServiceImpl.saveCustomer(Customer customer) )

3.匹配任何返回值

1 execution( * com.service.UserServiceImpl.saveCustomer(Customer customer) )

4.参数列表可以使用 * , 表示可以是任何的数据类型,但必须有参数

1 execution( * com.service.UserServiceImpl.saveCustomer( * ) )

5.参数列表可以使用 .. 表示有无参数均可,有参数可以是任意类型

1 execution( * com.service.UserServiceImpl.saveCustomer( .. ) )

6.包名可以使用*号,表示任意包,但是有几级包,需要写几个

1 execution( * *.*.UserServiceImpl.saveCustomer( .. ) )

7.使用..来表示当前包,及其子包

1 execution( * com..UserServiceImpl.saveCustomer( .. ) )

8.类名可以使用*号,表示任意类

1 execution( * com..*.saveCustomer( .. ) )

9.类名也可以使用 * 加后缀,表示这个后缀的所有类

1 execution( * com..*ServiceImpl.saveCustomer( .. ) )

10.方法名可以使用*号,表示任意方法

1 execution( * com..*.* ( .. ) )

11.全通配方式

1 execution( * *..*.* ( .. ) )

 

   

 

posted @ 2020-08-14 20:11  Zr0118  阅读(181)  评论(0编辑  收藏  举报