據我所知,IoC容器有助於創建應用程序級對象,如服務和工廠。但是,應該手動創建域級對象。 Spring的手冊告訴我們:「通常不會在容器中配置細粒度的域對象,因爲創建/加載域對象通常是DAO和業務邏輯的責任。」控制域對象反轉構造問題
好吧。但是如果我的域「細粒度」對象取決於某個應用程序級對象呢? 例如,我有一個UserViewer(用戶用戶,UserConstants常量)類。 有用戶是無法注入的域對象,但UserViewer也需要IoC容器注入的高級對象UserConstants。
我想從IoC容器中注入UserConstants,但我也需要一個瞬態運行時參數User在這裏。
設計有什麼問題?
在此先感謝!
UPDATE
看來我是不是我的問題不夠準確。我真正需要的是一個例子,如何做到這一點:
創建類UserViewer(用戶用戶,UserService服務),其中用戶作爲參數和服務傳遞從國際奧委會注入的實例。
如果我注入UserViewer查看器那麼如何將用戶傳遞給它?
如果我手動創建UserViewer觀衆然後我如何通過服務呢?
好吧。但是什麼是UserViewer?它是一個域或應用程序對象嗎? 這不是POJO,但它似乎不是一個真正的應用程序服務。 它需要同時訪問應用程序對象和POJO對象。我如何實例化它?或者我應該只通過POJO作爲參數?這通常是不方便的。 –
@Andrey 1.任何代碼都可以使用pojos,應用程序對象也不例外。對於實例,我給出了不同的答案。 – KLE
KLE!起初我沒有明白你的意思,但現在我開始明白了。謝謝! 我還有一個問題:這個POJO +服務模型很好,但是它不是過程和反OOP? –