1

私はSpringフレームワークに少し精通していますが、プロジェクトアーキテクチャの観点からSpringの使用に関してまだ多くの質問があります. 現在、Spring 3 と Maven Web アプリケーションをセットアップしており、ファンシーなコンポーネント スキャン機能と自動配線機能をすべて試してみたいと思っていますが、ここで混乱します。

プロジェクトをサブモジュールに分割しようとしています。そして、ある時点で、これらのサブモジュールが に含まsomething-context.xmlれる場合がありclasspath*:resource/META-INFます。たとえば、別のモジュールで datSource 関連のものを定義したい場合などです。それでは、すべての jar のクラスパス内からコンテキスト ファイルをロードしましょう。

しかし、ここで曖昧になります。たとえば、コンポーネント スキャンを使用しているとします。私は明らかにSpringを使用DispatcherServletしており、サーブレットコンテキストをロードする必要があり、 web.xml で指定されたグローバルアプリケーションコンテキストパラメーターがありますcontextConfigLocation

そのため、サーブレット コンテキスト構成にはコンポーネント スキャン機能が有効にcom.mycom.project.controllersなり、グローバルcontextConfigLocationにロードされたコンテキストには、パッケージのコンポーネント スキャン機能がロードされたコンテキストがあり、com.mycom.projectも検索されclasspath*:META-INF/spring/*-context.xmlます。

だから私の質問は - コンポーネントスキャンが forcom.mycom.project.controllersとに使用されていることを考えると、このロードコントローラーは2回com.mycom.projectですか? それとも、すべてが 1 つの巨大なコンテナーにロードされ、いずれかまたはグローバル宣言のcontextConfigLocationパラメーターがアクセスの問題のようなものですか? DispatcherServletDispatcherServlet定義されているものだけに到達servlet-context.xmlしますが、それ以外は使用できませんか?

また、私の仮定が間違っている場合、マルチモジュール プロジェクトの問題を管理する方法について提案してもらえますか?

ありがとう。

4

1 に答える 1