遙遙領先
VMware 提供培訓和認證,以加速您的進步。
瞭解更多有很多理由喜歡在 Interface21 工作,但最好的莫過於與行業領導者一起工作。 例如,Spring 2.0 的主要重點之一是改進 AOP 支援。 我們添加了新的配置名稱空間、AspectJ 切入點語言以及對@AspectJ 切面的支援。 但這留下了一個很大的問題:在 Spring 2.0 中編寫切面的首選方法是什麼? 由於我是 I21 的員工,我很幸運能直接從內部人士那裡獲得答案。
我向 Interface21 的首席科學家兼 AspectJ 專案的負責人 Adrian Colyer 提出了這個問題,以下是他的回覆。
我最初更喜歡 XML 語法,但最終選擇了 @AspectJ 陣營。 當然,這兩種方法各有優缺點。 XML 的優點是不使用註解,適用於所有 JDK 級別,並且可能對現有的 Spring 使用者來說更熟悉。 這些都是非常引人注目的理由。 @AspectJ 的優點是它提供了更好的切面單元感,支援比 XML 語法更多的功能,並且與 AspectJ 本身相容(完全相同的切面可以與 Spring 和 AspectJ 一起使用)。...
最終,“如果可以,使用 @AspectJ” 的獲勝論點是後兩者:- 更強大的功能集和更順暢的 AspectJ 採用路徑。
Adrian 關於將切面視為切入點和通知單元的評論確實引起了我的共鳴。 我認為 Spring 將它們視為可單獨配置的 bean,這是 Spring AOP 和 AspectJ 之間最大的區別之一。
我認為,展望未來,Spring 對 @AspectJ 形式的擁抱將成為使用者的一個堅實的差異化因素。 我認為,對於人們來說,知道 Spring 的 AOP 現在與市場上主要的 AOP 框架 AspectJ 如此緊密地結合在一起,這將是一種溫暖而模糊的感覺。 他們會感到安全,因為即使並非所有語法都能轉移,所有的範例和概念都可以。 嘿,@AspectJ 甚至可以在沒有 Spring 的情況下工作,這很好。
我在這篇文章的開頭說很高興能夠獲得這種輸入,但我提醒您,您也可以。 如果有人將此釋出到 Spring 論壇,您會得到相同的答案(甚至可能更快,因為有比我的電子郵件更多的目光)。 請記住,我們在 Interface21 的所有人都致力於支援使用者和社群,因此請使用該資源。