AspectJ简介

@TOC

切面的执行时间

执行时间在规范中叫做Advice(通知,增强),在aspectJ框架中使用注解表示,主要有5种

  • @Before
  • @AfterReturning
  • @Around
  • @AfterThrowing
  • @After

切面的执行位置

使用的时AspectJ的切入点表达式
表达式的原型
在这里插入图片描述
在这里插入图片描述

举例

execution(public * * (. .))
表示:任意公共方法
第一个表示任意返回类型 第二个表示任意方法名 (. .)参数也是任意的

execution(* set*(. .))
表示:任何一个以"set"开始的方法
这里的访问权限类型省略了 第一个*表示返回类型 第二个表示set开始任意方法名

excution(* com.xyz.service.* .*(. .))
表示:任意com.xyz.service的任意类的任意方法
第一个表示类名,因为带包名的都要包含类名 第二个表示方法名

execution(* com.xyz.service…* . *(. .))
表示:service包或者子包里的任意类的任意方法。
…后面必须跟*,表示包、子包下的所有类。

execution(* *. .service. * . *(. .))
表示:所有包下的service子包下所有类(接口)种所有方法

execution(* *.service . * . * (. .))
表示:只有一级包下的service子包下所有类(接口)种的方法

猜你喜欢

转载自blog.csdn.net/qq_36976201/article/details/109002609