2011-11-16 71 views
1

我有一個web應用程序(Spring,Java)與我的系統中的一些「插件」進行交互(例如發送電子郵件,或者在必要時保存用戶輸入),通信是通過Spring AOP完成的。Spring Aop一些維護

因爲現在很難維護和調試我想將它轉換爲基於事件的系統,我想要在Java代碼事件中完成相同的功能,但不是從Spring AOP完成。

您對此有何看法?任何鼓舞人心的想法?

回答

2

如果您正在尋找JVM直接事件系統,那麼值得關注Spring的應用事件如何工作。你可以從org.springframework.context.support.AbstractApplicationContext開始。這個類具有發佈事件,註冊事件等的代碼。Spring還負責爲事件自動註冊偵聽器。

-1

我認爲你需要做的第一步是獲得一本書,並對Observer模式有一個基本的理解。我建議你看看Head First Design Pattern,這是一本針對缺乏設計經驗的初級開發人員的好書。在你對它有基本的瞭解之後,你可以考慮使用Java的Observer/Observable,手工製作相關接口,或者使用Spring的應用程序事件。 (但是,讓人們在這裏教你整個模式根本沒有意義,這是你在問之前需要閱讀的東西)

(說實話,用AOP編織你的邏輯真的不是個好主意,就像你這不僅難以維護,而且以不合適的方式濫用AOP)

+0

好吧,我真的不明白爲什麼會有投票結果...顯而易見的是,通過研究觀察者模式的基礎知識,OP甚至沒有爲他的工作做足夠的工作。我確實提出了作爲首發的學習內容,以及他可以採取的後續步驟。我真的不明白投票的理由 –

1

看看CDI Event系統,讓您從中獲得啓發。

你可以編寫你自己的春天版本(也許不是所有的功能,但有這個漂亮的處理方式)。