Java AOP(Aspect-Oriented Programming)中的通知(Advice)有以下五种类型:
1、Before
- 这些类型的 Advice 在 joinpoint 方法之前执行,并使用
@Before
注解标记进行配置。
前置通知(Before Advice):在目标方法执行之前执行的通知。它常用于一些前置准备工作,如参数校验、日志记录等。
2、After Returning
- 这些类型的 Advice 在连接点方法正常执行后执
行,并使用
@AfterReturning
注解标记进行配置。
返回后通知(After Returning Advice):在目标方法成功执行并返回结果之后执行的通知。它可以用于处理返回值、更新缓存等。
3、After Throwing
- 这些类型的 Advice 仅在 joinpoint 方法通过抛出
异常退出并使用
@AfterThrowing
注解标记配置时执行。
异常后通知(After Throwing Advice):在目标方法执行过程中抛出异常后执行的通知。它可以用于处理异常、记录错误日志等。
4、After (finally)
- 这些类型的 Advice 在连接点方法之后执行,无论方
法退出是正常还是异常返回,并使用
@After
注解标记进行配置。
后置通知(After Advice):在目标方法执行之后执行的通知,无论方法是否成功执行。它通常用于清理资源、释放连接等。
5、Around
- 这些类型的 Advice 在连接点之前和之后执行,并使用
@Around
注解标记进行配置
环绕通知(Around Advice):包围目标方法执行的通知。它允许在目标方法执行前后自定义一些行为,如事务管理、性能监控等。环绕通知是最强大的通知类型,可以替代其他四种通知。
这些通知类型可以帮助你在不修改目标方法代码的情况下,对目标方法进行增强,实现代码的高内聚、低耦合。