1)的AspectJ與@Configurable
在你@Configuration註解的類/ ES
,你可以添加一些註釋 @Configuration @EnableLoadTimeWeaving(aspectjWeaving = EnableLoadTimeWeaving.AspectJWeaving.ENABLED) @EnableSpringConfigured @EnableAspectJAutoProxy
,使AspectJ和設置@Configurable註解, 你需要將aspectj lib導入到你的項目中並在你的tomcat lib文件夾中添加spring tomcat可監控的java代理(看看這裏,它展示瞭如何配置tomcat)http://docs.spring.io/spring-framework/docs/2.5.6/api/org/springframework/instrument/classloading/tomcat/TomcatInstrumentableClassLoader.html
如果您打算使用「新」來創建您的pojos,這不會對您有所幫助 MyPojo p = new MyPojo(); //對此沒有黑魔法,你需要自己滿足依賴關係),但是當你通過像hibernate這樣的框架加載一些實體並且你想向它們注入某些東西時會有幫助。@Configurable它是一個選項可以在這些情況下評估,因爲你所描述的我寧願不使用它。
2)你可以使用一些靜態組彈簧豆一些靜態方法,並從您的POJO使用它們,像
class Util{
private static SprintBeanWithJmsSupport x;
public static setSpringBeanToHandleJmsMessages(SprintBeanWithJmsSupport x){ Util.x = x; }
public static sendJmsMessage(JmsMessage m){ x.sendMessage(m) } }
,您可以用Util.sendJmsMessage(去......)
這有點低劣的,但它不工作,我不親自喜歡這種方法
3)設置你的POJO的春天豆時,他們需要使用它們(也許背後適合您的域了一些不錯的接口)
如果你使用spring mvc,你可能最終會得到一些控制器,這些控制器會使用一些服務(通常它們處理安全/數據庫訪問,並且是啓動「用例」的入口點),因爲這些層中的所有東西都被處理春天它將是非常簡單的通過彈簧豆處理jms消息傳遞到你的pojos,這對我來說似乎是一個很好的方式來處理這個問題
我主要是基於內存和東西可能不完全準確,加上我的英語是..它是什麼,所以希望這可以有所幫助。
這已經足夠接近了(我在移動設備上,並且沒有在Spring標籤上使用dupehammer),我將其標記爲與我的寫作重複。我建議使用AspectJ方法;它只需要最少的實施工作就可以滿足您的用例 – chrylis