1. <mvc:アノテーションドリブン/>
pring 3.0.xでmvc:annotation-drivenを使用した後、デフォルトは、デフォルトの処理要求、パラメーター、および戻り値のクラス、2つの主要なクラスであるDefaultAnnotationHandlerMappingおよびAnnotationMethodHandlerAdapter、それぞれHandlerMapping実装クラスおよびHandlerAdapterの登録に役立ちます。実装クラスが3.1.xからRequestMappingHandlerMappingおよびRequestMappingHandlerAdapterに変更されました。
HandlerMapping実装クラスの役割:
@RequestMappingアノテーションを処理してリクエストマッピングテーブルに登録するRequestMappingHandlerMapping クラスを実装します。
HandlerAdapter実装クラスの役割:
実装クラス RequestMappingHandlerAdapterは、リクエストを処理し、どのクラスのどのメソッドを呼び出すかを決定し、メソッドパラメータを作成して値を返すアダプタです。
mvc:annotation-driven /が設定されると、Springはアノテーション駆動を有効にすることを認識します。次に、コンテキストの構成を通じて、component-scan /タグを使用して、Springはスキャンされたコンポーネント(@ Component、@ Controller、@ Service、@ Repositoryなど)をファクトリーに自動的に登録し、リクエストを処理します。
2. <context:component-scan >
このラベルを構成した後、 Springはパスのベースパッケージまたはサブパッケージに対応するパスの下でjavaファイルを自動的にスキャンします。ファイルが@サービス、@コンポーネント、@リポジトリ、@コントローラーなどでスキャンされた場合クラス、次にこれらのクラスをBeanの
メモとして登録し ます。アノテーションの後に @Component(value =” abc”)を追加すると、このクラスの登録済みBeanのIDはadcになります。
設定されている場合、<コンテキスト:コンポーネント・スキャン>、
その後、 <context:annotation-config />タグはxmlで構成できなくなります。
前者には後者が含まれるため。さらに、 <context:annotation-config />には、2つのサブタグ<context:include-filter>および<context:exclude-filter>も用意されています。
<context:include-filter type = "annotation" expression = "org.springframework.stereotype.Controller" />
基本パッケージで指定された@Controllerの下のJavaクラスのみをスキャンし、Beanとして登録します