我們目前正在編寫一個應用程序,該應用程序被拆分爲多個項目/模塊。例如,我們採取以下模塊:在多個項目/模塊中使用多個屬性文件(通過PropertyPlaceholderConfigurer)
- 對myApp-DAO
- 對myApp-jabber的
每個模塊都有自己的Spring上下文XML文件。對於DAO模塊,我有一個PropertyPlaceholderConfigurer,它用必要的db連接參數讀取一個屬性文件。在jabber模塊中,我還有一個用於jabber連接屬性的PropertyPlaceHolderConfigurer。
現在主要的應用程序包括myApp-DAO和myApp-jabber。它讀取所有的上下文文件並啓動一個大的Spring上下文。不幸的是,似乎每個上下文只能有一個PropertyPlaceholderConfigurer,因此無論哪個模塊首先被加載,都能夠讀取它的連接參數。另一個拋出一個異常,如「無法解析佔位符'jabber.host'」
我有點理解問題是什麼,但我真的不知道解決方案 - 或對我的最佳做法用例。
我該如何配置每個模塊,以便每個模塊都能夠加載自己的屬性文件?現在我已經將PropertyPlaceHolderConfigurer移出單獨的上下文文件,並將它們合併到主應用程序的上下文中(使用單個PropertyPlaceHolderConfigurer加載所有屬性文件)。這很糟糕,因爲現在每個使用dao模塊的人都必須知道,他們需要在他們的上下文中使用PropertyPlaceHolderConfigurer ..還有dao模塊中的集成測試失敗等。
我很好奇聽到有關解決方案/來自Stackoverflow社區的想法。
+1對詞的用法 「吸」 :-D – 2013-04-10 12:21:45
@PeterWippermann你爲什麼不大膽呢? :D – Nabin 2016-06-21 14:37:40