知識分享之Java——AOP中執行順序
背景
日常我們開發時,我們會遇到各種各樣的奇奇怪怪的問題(踩坑o(╯□╰)o),這個常見問題系列就是我日常遇到的一些問題的記錄文章系列,這裡整理彙總後分享給大家,讓其還在深坑中的小夥伴有繩索能爬出來。
同時在這裡也歡迎大家把自己遇到的問題留言或私信給我,我看看其能否給大家解決。
開發環境
- 系統:windows10
- JDK:openjdk11
- 開發工具:IDEA 教育版
- 架構:SpringBoot
- 包管理:Gradle
内容
在AOP切片中我們知道其包含了很多個節點,那具體節點前後順序是如何的呢?下面我整理了一下,便于有需要的小夥伴查閱使用。
概念:
Advice 通知
Joinpoint 連接配接點
Pointcut 切入點
Aspect 切面
Proxy 代理
Weaving 織入
步驟包括:
1、@Around
2、@Before
3、@Method
4、@Around
5、@After
6、@AfterThrowing
7、@AfterReturning
如果我們編寫了多個AOP時,在執行到第二步(@Before)時下一步将會進入到第二個AOP的初始@Around第一步中,待第二個AOP執行完畢再跳回至第一個AOP中的第四步,而@Method指的是原方法,隻會被調用一次。不會因為多個AOP而被調用多次。具體順序由@Order注解進行控制。
當進入第五步時出現異常時會進入第六步,當正常時會執行第七步。
本文聲明:

88x31.png
知識共享許可協定