AspectJ 定义的通知类型有哪些?
AspectJ 定义的通知类型有哪些?
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。https://store.amazingmemo.com/chapterDetail/1685324709017001`
在 AspectJ 中,通知(Advice)是一种特殊的方法,它们在程序执行的特定点被触发。AspectJ 定义了五种类型的通知,它们分别是:
Before Advice (前置通知)
Before advice 在连接点(Join Point)执行之前运行,但它不能阻止执行流继续到连接点。它通常用于在方法执行前进行权限检查或日志记录。
1 |
|
After Returning Advice (后置返回通知)
After returning advice 在连接点正常完成后执行,例如,一个方法正常返回而没有抛出异常时。它常用于修改返回值或进行某些清理工作。
1 |
|
After Throwing Advice (异常抛出通知)
After throwing advice 在方法抛出异常退出时执行。这种类型的通知可以用来处理异常或进行补偿措施。
1 |
|
After (finally) Advice (最终通知)
After (finally) advice 不管连接点是正常完成还是异常退出都会执行。它通常用于释放资源,如关闭文件或网络连接。
1 |
|
Around Advice (环绕通知)
Around advice 包围一个连接点的执行。它可以在方法调用之前和之后执行,并且可以决定是否继续到连接点或直接返回自己的返回值或抛出异常。环绕通知是最强大的一种通知类型,因为它完全控制了连接点的执行。
1 |
|
这些通知类型为 AspectJ 提供了强大的编程机制,允许开发者在不修改现有代码的情况下,增加额外的行为和逻辑。