aspectJ不是Spring的一部分,他也是独立的框架,和Spring一起进行aop的操作。
配置文件:
常用表达式:execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)
1)execution(* com.ruge.aop.Test.add(..))
2)execution(* com.ruge.aop.Test.*(..))
3)execution(* insert*(..))
1 joinpoint(连接点):
- 定义:连接点是一个应用执行过程中能够插入一个切面的点。
- 连接点可以是调用方法时、抛出异常时、甚至修改字段时、
- 切面代码可以利用这些点插入到应用的正规流程中
- 程序执行过程中能够应用通知的所有点。
- 类里面可以被增强的方法,这些方法称之为连接点。
2 pointCut(切入点)
- 定义:所谓切入点就是指我们要对那些joinPoint进行拦截的定义
3 advice(通知/增强)
- 定义:增强的逻辑,称为增强,比如拓展日志功能,这个日志功能称之为增强
- 前置通知:我现在想要增强add()方法,在方法之前执行
- 后置通知:我现在想要增强add()方法,在方法之后执行
- 异常通知:我现在想要增强add()方法,方法出现异常
- 最终通知:我现在想要增强add()方法,在后置之后
- 环绕通知:我想计算方法允许时间。在方法之前和之后均执行
4 aspect(切面)
- 定义:把我们的增强应用到具体方法上面,过程称之为切面
- 例子:我们想要在add()方法里面做一个日志功能,过程就是切面
- 增强用到切入点的过程