zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Spring 整合 aspectj 框架实现的 aop

Spring框架AOP 实现 整合 AspectJ
2023-09-14 09:02:02 时间

在现在的开发中使用这种方案比较多

在 spring2.0 以后它支持 jdk1.5 注解,而整合 aspectj 后可以使用 aspectj 语法,可以简化开发。

Aspect:切面 =切点+通知(多个切点与多个通知的组合)

AspectJ 它是一个第三方框架,spring 从 2.0 后可以使用 aspectJ 框架的部分语法.

AspectJ 框架它定义的通知类型有 6 种

1. 前置通知 Before 相当于 BeforeAdvice

2. 后置通知 AfterReturning 相当于 AfterReturningAdvice

3. 环绕通知 Around 相当于 MethodInterceptor

4. 抛出通知 AfterThrowing 相当于 ThrowAdvice

5. 引介通知 DeclareParents 相当于 IntroductionInterceptor

6. 最终通知 After 不管是否异常,该通知都会执行

相比 spring 的传统 AOP Advice 多了一个最终通知

基于XML配置方案

第一步: 创建目标(target)

第二步: 创建通知( 增强 advice)

注意:在 aspectj 中它的增强可以不实现任何接口,只需要定义出增强功能(也就是方法)。

第三步:在 在 spring 的 的 xml 配置文件中来配置

<aop:config>下的<aop:aspect>是 aspectJ 框架用来声明切面的标签。

前置通知

后置通知

环绕通知

异常抛出通知

注意:目标行为只有抛出了异常后才会执行这个增强方法。

最终通知

无论是否有异常,最终通知都会执行。