Spring AOP AspectJ Pointcut 表达式例子
本文内容纲要:Spring AOP AspectJ Pointcut 表达式例子
主要来源:http://howtodoinjava.com/spring/spring-aop/writing-spring-aop-aspectj-pointcut-expressions-with-examples/
- 方法标签匹配方式
 
假设定义了接口EmployeeManager接口。
1)
execution(* com.howtodoinjava.EmployeeManager.*( .. ))以上切入点表达式可以匹配EmployeeManger接口中所有的方法。
2)
当切面方法和EmployeeManager接口在相同的包内,如果切入点表达式匹配所有所有方法,则表达式可以改成:
execution(* EmployeeManager.*( .. ))3)匹配EmployeeManager接口的所有public方法。
execution(public * EmployeeManager.*(..))匹配EmployeeManager接口中权限为public并返回类型为EmployeeDTO的所有方法。
execution(public EmployeeDTO EmployeeManager.*(..))
5) 匹配EmployeeManager接口中权限为public并返回类型为EmployeeDTO,第一个参数为EmployeeDTO类型的所有方法。
execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, ..))6) 匹配EmployeeManager接口中权限为public、返回类型为EmployeeDTO,参数明确定义为EmployeeDTO,Integer的所有方法。
execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, Integer))- 类型标签匹配模式
 
1)匹配在com.howtodoinjava包下所有类型中所有的方法。
within(com.howtodoinjava.*)2)匹配在com.howtodoinjava包以及其子包下所有类型中所有的方法。
within(com.howtodoinjava..*)3)匹配其他包一个类下的所有方法。
within(com.howtodoinjava.EmployeeManagerImpl)4)匹配同一个包下一个类下的所有方法。
within(EmployeeManagerImpl)5)匹配一个接口下的所有继承者的所有方法。
within(EmployeeManagerImpl+)- bean名字匹配模式
 
匹配所有以Manager结尾的beans中的所有方法。
bean(*Manager)- 切入点表达式拼接
 
在AspectJ中,切入点表达式可以通过&&,||,!等操作符进行拼接。
bean(*Manager) || bean(*DAO)上述这个例子表示匹配以Manager结尾或者以DAO结尾的beans中所有的方法。
本文内容总结:Spring AOP AspectJ Pointcut 表达式例子
原文链接:https://www.cnblogs.com/Eunice-mogu/p/5261008.html
以上是 Spring AOP AspectJ Pointcut 表达式例子 的全部内容, 来源链接: utcz.com/z/362860.html

