1. 程式人生 > >【Spring Boot入門】AOP基礎及Advice的執行順序

【Spring Boot入門】AOP基礎及Advice的執行順序

本文主要分為兩個部分,首先介紹AOP的基礎,包括為什麼要使用AOP以及AOP中的基本概念,然後講解AOP中各類Advice的執行順序並給出簡單示例。

一、AOP基礎

1、為什麼要使用AOP

AOP(Aspect Oriented Programming,面向切面程式設計),是Spring框架中的一個重要概念,那麼面向切面程式設計有什麼好處呢。
傳統的面向過程程式設計,按照業務的具體發展過程進行縱向開發,即按A–>B–>C–>D的順序自頂向下地執行;面向物件程式設計對事物進行了抽象,形成物件的概念,包括屬性和行為兩個方面。面向切面程式設計則提供一個完全不一樣的橫向視角,
如下圖所示,我們傳統的程式設計方式是垂直化的程式設計,即A–>B–>C–>D這麼下去,一個邏輯完畢之後執行另外一段邏輯。但是AOP提供了另外一種思路,它的作用是在業務邏輯不知情(即業務邏輯不需要做任何的改動)的情況下對業務程式碼的功能進行增強

。個人認為使用AOP的好處是在不增加程式碼複雜度和耦合度的情況下,實現某些統一事務處理。詳細解釋可以參考五月的倉頡的文章。
使用AOP的意義

2、AOP中的基本概念

  • Aspect 切面
  • JoinPoint 連線點
  • Pointcut 切入點
  • Advice 通知
  • Weaving 織入

二、各類Advice的執行順序