私は春が初めてで、単純な Web アプリケーションを作成しています。Spring MVC のコンテキストについて読んでいます。
私はEclipse用のSTSプラグインを使用しています。プラグインを使用して Spring MVC プロジェクトを作成しました。
プロジェクトには、web.xml、root-context.xml、および servlet-context.xml という 3 つの xml ドキュメントがあります。これらは STS によって作成されました。
web.xml では、ディスパッチャ サーブレットは servlet-context.xml を指しています。ディスパッチャ サーブレットの仕事は、ビューを解決する方法を知っていて、コントローラ Bean が存在する場所である Web アプリケーション コンテキストを作成することだと理解しています。私の理解は正しいですか?もしそうなら、このコンテキストによって達成される他の仕事は何ですか?
現在、プロジェクトのデフォルト パッケージにコンポーネント スキャンが含まれている root-context.xml というファイルがあります。私の理解では、このコンテキストには、多くのサーブレットが使用する可能性のあるグローバル Bean が必要です。私の理解は正しいですか?これは他に何をしますか?このファイルを使用して、どのようなコンテキストが作成されますか?
現在、私はプロジェクトを進めており、contextLoaderListner (web.xml 内) を使用してロードされる *-context.xml ファイル (dao-context.xml、security-context.xml など) がいくつかあります。これは良い考えですか?それとも、すべてを servlet-context.xml に入れる必要がありますか? 関心の分離を提供するので、異なるコンテキストを持つことは良い考えだと思います。コメント? また、これらの *-context.xml ファイルからどのようなコンテキストが作成されますか? これらのファイルの適切なフォルダの場所は?
Web.xml は tomcat などのサーブレット コンテナー用で、プロジェクト内の他のすべての xml ファイルは spring コンテナー用です。あれは正しいですか?これらのファイルはすべて、関心を分離するために分離されていますか?
現在のシナリオには、いくつのアプリケーション コンテキストと Web アプリケーション コンテキストが存在しますか?
複数のディスパッチャ サーブレットが必要になるのはなぜでしょうか。
なぜ複数のアプリケーション コンテキストが必要になるのでしょうか。
考え?コメント? 修正?ベストプラクティス?