Maven を使用し、メイン システムと多くのモジュールwarsで構成される Web アプリケーションを構築しています。それぞれが独自のApplicationContext.xml ファイルを持つSpring-3ベースのプロジェクトです。システムとモジュールは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 コンテキストをロードする方法はありますか? ご覧のとおり、 Spring importを実行する可能性がありますが、最初はシステムのアプリケーション コンテキストはモジュールのものについて何も知りません。また、Maven を使用してすべてのアプリケーション コンテキストを 1 つだけにマージすることもできますが、その場合の正確な使用方法がわかりません。xslt ファイルを作成する必要がありますか? 私はいくつかの簡単な方法が欲しいです。