Spring 中的面向切面程式設計
面向切面程式設計(AOP)透過提供另一種思考程式結構的方式來補充面向物件程式設計(OOP)。OOP 中的關鍵模組化單元是類,而 AOP 中的模組化單元是切面。切面實現了跨多個型別和物件的關注點(例如事務管理)的模組化。(此類關注點在 AOP 文獻中通常被稱為“橫切”關注點。)
Spring 的關鍵元件之一是 AOP 框架。雖然 Spring IoC 容器不依賴於 AOP(這意味著如果你不想,則不需要使用 AOP),但 AOP 補充了 Spring IoC,以提供一個功能強大的中介軟體解決方案。
AOP 在 Spring 框架中用於:
-
提供宣告式企業服務。最重要的此類服務是宣告式事務管理。
-
讓使用者實現自定義切面,透過 AOP 補充他們對 OOP 的使用。
| 如果你只對通用宣告式服務或其他預打包的宣告式中介軟體服務(如連線池)感興趣,則無需直接使用 Spring AOP,可以跳過本章大部分內容。 |