天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
梦绕边城月,心飞故国楼。
思归若汾水,无日不悠悠。
——《太原早秋》
文章目录
- AOP中通知(Advice)的相关介绍
- 1. 环绕通知(@Around)
- 2. 前置通知(@Before)
- 3. 后置通知(@After)
- 4. 返回通知(@AfterReturning)
- 5. 报错通知(@AfterThrowing)
- 6. TIPS
- 7. Advice通知顺序
- 加分加分
- 1. 加分
- 2. 加分
- 3. 加分
- 4. 加分
- 4.1 加分1
- 4.2 加分2
- 4.3 加分3
- 4.4 加分4
AOP中通知(Advice)的相关介绍
关于aop的完整详细版可跳转到链接:Java AOP 介绍与实践
通知Advice表示切面什么时候启用
通知类型有以下几种
环绕通知Around、前置通知Before、后置通知After、返回通知AfterReturning、报错通知AfterThrowing
1. 环绕通知(@Around)
包围一个连接点的通知,通常在核心方法的前后实现自定义的逻辑
该注解需要传入参数ProceedingJoinPoint proceedingJoinPoint
决定是否进入核心方法,进入则调用proceedingJoinPoint.proceed(),不调用则不进入
2. 前置通知(@Before)
前置通知,在核心代码执行前通知(执行代码前提前做一些逻辑行为,一般为权限校验等)
3. 后置通知(@After)
后置通知,在核心代码执行后执行的通知(核心代码执行结束后进行通知,不管代码执行是否报错,都会通知)
4. 返回通知(@AfterReturning)
返回后通知,正常返回后才会通知
5. 报错通知(@AfterThrowing)
报错通知,抛出异常时通知,当核心代码报错时进行通知
6. TIPS
只有@Around的参数时ProceedingJoinPoint,其余的通知的参数都是JoinPoint
也就是说,能进入核心代码的只有@Around
aop进入核心代码是通过调用ProceedingJoinPoint的proceed()方法,JoinPoint在无此方法
7. Advice通知顺序
一个方法被一个Aspect切面拦截时,顺序如下(根据代码执行结果查看得出)
Around1
Before
核心代码执行
AfterReturning
After
Around2
首先执行环绕通知
然后执行前置通知
然后执行核心代码
然后执行返回通知(如果代码报错则执行报错通知,返回和报错只会出现一个)
然后执行后置通知
然后执行环绕通知
一个方法被两个Aspect切面拦截时,顺序会根据系统随机执行某个切面的通知,但同一个切面的通知顺序是不会变的还跟上面一样
可设置Order参数定义优先级
如在Aspect切面1的类上定义Order(1),则会优先执行该切面
感谢阅读,祝君暴富!
版权声明:
- 作者:寒山李白
- 博客地址:https://hanshan.blog.csdn.net/
- 版权:本作品采用《创作共享许可证》进行许可,根据该许可授权的内容可在符合本许可证条款的前提下自由使用、、修改和创作衍生作品。
版权许可介绍:
本文采用CC BY-NC-SA许可证
此许可允许在使用者仅出于非商业目的以任何媒体或格式分发、重新混合、改编和构建材料,并且前提是注明创作者。如果您重新混合、改编或基于该材料进行构建,则必须按照相同的条款对修改后的材料进行许可。
更多信息请访问以下网址查看:
版权官网 https://creativecommons.org/licenses/by-nc-sa/4.0/
中文翻译 https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans
文章结束
--------------------------------------------------------------------------------------------------------------------------------------
以下内容增加文章评分用,可忽略
加分加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
1. 加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
2. 加分
黄河之水天上来,奔流到海不复回
高堂明镜悲白发,朝如青丝暮成雪
3. 加分
寒山李白
寒山李白
4. 加分
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.1 加分1
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.2 加分2
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.3 加分3
账号密码
名称 | 密码 |
---|---|
李白 | 123 |
4.4 加分4
账号密码
名称 | 密码 |
---|---|
李白 | 123 |