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