切点描述的表达式配置方式:
切点描述的表单的案例:
-
所有的public的方法
execution(public * *(..))
-
set开头的所有的所有方法
execution(* set*(..))
-
在AccountService接口中的所有方法
execution(* com.xyz.service.AccountService.*(..))
-
service包中定义的所有的类或者接口中的所有的方法
execution(* com.xyz.service.*.*(..))
-
service包中以及其子孙包中的定义的所有的类或者接口中的所有的方法
execution(* com.xyz.service..*.*(..))
-
com.xyz.service包中的所有类和接口:
within(com.xyz.service.*)
-
com.xyz.service的子孙包的接口和类
within(com.xyz.service..*)
-
直接指定一个全限定类名:
this(com.xyz.service.AccountService)
-
只能指定实现类。不能指定接口
target(com.xyz.service.AccountService)
-
含有指定参数的方法:
args(java.io.Serializable)
-
含有指定注解的方法
@target(org.springframework.transaction.annotation.Transactional)
-
含有指定注解的类的子孙类:
@within(org.springframework.transaction.annotation.Transactional)
-
含有指定注解的
@annotation(org.springframework.transaction.annotation.Transactional)
-
方法的参数含有指定注解的方法:
@args(com.xyz.security.Classified)
-
指定名称的bean:
bean(tradeService)
-
指定名称模版的bean
bean(*Service)
本文详细介绍了AOP(面向切面编程)中的切点表达式配置方式,包括匹配公共方法、特定方法名、指定接口的所有方法、特定包内的所有方法等。此外,还涉及了注解、参数、目标类等多个维度的匹配规则,为理解和使用AOP切点表达式提供了清晰的指导。
3万+

被折叠的 条评论
为什么被折叠?



