我建立它使用Maven和由主系統等衆多模塊戰爭組成的Web應用程序,每一個與自己的ApplicationContext的彈簧3基礎的項目。 xml文件。系統和模塊是war文件,我使用Maven使用佈局合併它們。合併多個應用程序上下文文件動態
在開始的時候,只系統應用程序上下文文件被加載和系統本身加載存儲在WEB-INF/classes/application_context
文件夾名稱不同每個模塊的應用程序上下文。
這是系統的加載方式:
ServletContext context = SessionUtils.getServletContext();
ApplicationContext appContext = WebApplicationContextUtils
.getRequiredWebApplicationContext(context);
這是系統如何進行加載應用程序的其餘部分的工作上下文:
String filename = "/WEB-INF/classes/application_context";
ServletContext servContext = SessionUtils.getServletContext();
String pathname = servContext.getRealPath(filename);
File dir = new File(pathname);
List<String> contexts = new ArrayList<String>();
for (File child : dir.listFiles()) {
contexts.add("/application_context/" + child.getName());
}
ApplicationContext context = new ClassPathXmlApplicationContext(
contexts.toArray(new String[contexts.size()]));
我的問題是,有沒有辦法一次加載每個Spring Context?正如我所看到的,有機會做Spring import,但最初系統的應用程序上下文不知道有關模塊的任何內容。也可以使用Maven to merge every application context in an only one,但我不知道如何在這種情況下使用它,我應該寫一個xslt文件嗎?我想要一些直接轉發的方式。
好點。但是,我想避免通過代碼加載模塊應用程序上下文。我想一次做所有事情。 –
我在解釋如何加載系統本身的問題中添加了一些代碼。我現在可以加載其餘的人嗎? –
根據我的需要編輯。 –