Spring AOP aspectJ切入点表达式示例

1.如何匹配方法签名模式

最典型的切入点表达式,用于通过签名匹配多个方法
1.1匹配另一个包中一个类中的所有方法
例如:前面通配符匹配任何修饰符(public、protested和private)和任务返回类型的方法。参数列表中的两个点匹配任意数量的参数。*表示匹配任意字符。

execution(* com.example.demo.component.EmployeeManager.before*(..))

1.2匹配同一包内的类中的所有方法
如果目标类或接口与此方面位于同一包中,组可以省略包名。

execution(* EmployeeManager.*(..))

1.3匹配类中的所有公共方法

execution(public * EmployeeManager.*(..))

1.4匹配所有公共方法与返回类型匹配
使用public关键字和返回类型EmployeeDTO

execution(public EmployeeDTO EmployeeManager.*(..))

1.5将所有公共方法与返回类型

execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, ..))

2.如何匹配类类型签名模式

当应用于Spring AOP时,这些切入点的范围将缩小到仅匹配特定类型内的所有方法执行。
2.1匹配 com.howtodoinjava 包内的类中定义的所有方法

within(com.howtodoinjava.*)

2.2匹配 com.howtodoinjava 包内的类中定义的所有方法以及所有子包内的类

within(com.howtodoinjava..*)

2.3. 将所有方法与另一个包中的EmployeeManagerImpl类匹配

within(com.howtodoinjava.EmployeeManagerImpl)

2.4. 将所有方法与同一包中的EmployeeManagerImpl类匹配

within(EmployeeManagerImpl)

2.5. 匹配 EmployeeManager 接口的所有实现类中的所有方法
使用 +(加号)来匹配接口的所有实现。

within(EmployeeManagerImpl+)

3.如何匹配类名模式

3.1。匹配名称以“Manager”结尾的 bean 中定义的所有方法。
这很容易。使用 * 匹配 bean 名称中前面的任何内容,然后匹配单词。

4.如何组合切入点表达式

在 AspectJ 中,切入点表达式可以与运算符&& (and)、|| (or)和结合使用! (not)。例如

4.1。匹配名称以 Manager 和 DAO 结尾的所有方法
使用’||'符号来组合这两个表达式。

bean(*Manager) || bean(*DAO)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值