Spring AOP支持五種類(lèi)型的通知:
- 前置通知(Before):在目標(biāo)方法執(zhí)行之前執(zhí)行的通知。這是最常用的一種通知類(lèi)型,可以用于日志記錄、性能監(jiān)控等場(chǎng)景。
- 后置通知(After):在目標(biāo)方法執(zhí)行之后執(zhí)行的通知,無(wú)論目標(biāo)方法是否拋出異常。這種通知類(lèi)型可以用于資源釋放、清理操作等場(chǎng)景。
- 返回通知(AfterReturning):在目標(biāo)方法成功執(zhí)行并返回結(jié)果后執(zhí)行的通知。這種通知類(lèi)型可以用于對(duì)返回結(jié)果進(jìn)行處理或修改。
- 異常通知(AfterThrowing):在目標(biāo)方法拋出異常后執(zhí)行的通知。這種通知類(lèi)型可以用于異常處理、錯(cuò)誤日志記錄等場(chǎng)景。
- 環(huán)繞通知(Around):在目標(biāo)方法執(zhí)行前后都執(zhí)行的通知。這種通知類(lèi)型可以用于自定義目標(biāo)方法的執(zhí)行邏輯,例如手動(dòng)控制事務(wù)、權(quán)限校驗(yàn)等。
需要注意的是,不同類(lèi)型的通知在切面中的優(yōu)先級(jí)和執(zhí)行順序是有區(qū)別的。在實(shí)際應(yīng)用中,我們可以根據(jù)需求選擇合適的通知類(lèi)型來(lái)實(shí)現(xiàn)特定的功能。