Spring 中的面向切面程式設計

面向切面程式設計(AOP)透過提供另一種思考程式結構的方式來補充面向物件程式設計(OOP)。OOP 中的關鍵模組化單元是類,而 AOP 中的模組化單元是切面。切面實現了跨多個型別和物件的關注點(例如事務管理)的模組化。(此類關注點在 AOP 文獻中通常被稱為“橫切”關注點。)

Spring 的關鍵元件之一是 AOP 框架。雖然 Spring IoC 容器不依賴於 AOP(這意味著如果你不想,則不需要使用 AOP),但 AOP 補充了 Spring IoC,以提供一個功能強大的中介軟體解決方案。

帶有 AspectJ 切點的 Spring AOP

Spring 透過使用基於 Schema 的方法@AspectJ 註解樣式,提供了編寫自定義切面的簡單而強大的方式。這兩種樣式都提供了完全型別化的通知,並使用 AspectJ 切點語言,同時仍然使用 Spring AOP 進行織入。

本章討論基於 Schema 和 @AspectJ 的 AOP 支援。較低級別的 AOP 支援在下一章中討論。

AOP 在 Spring 框架中用於:

  • 提供宣告式企業服務。最重要的此類服務是宣告式事務管理

  • 讓使用者實現自定義切面,透過 AOP 補充他們對 OOP 的使用。

如果你只對通用宣告式服務或其他預打包的宣告式中介軟體服務(如連線池)感興趣,則無需直接使用 Spring AOP,可以跳過本章大部分內容。
© . This site is unofficial and not affiliated with VMware.