1. ホーム
  2. spring

[解決済み] サーブレットにおける <mvc:annotation-driven /> と <context:annotation-config /> の違いは何ですか?

2022-04-26 08:18:24

質問

Spring 2.5からSpring 3に移行しています。

を導入したそうです。 <mvc:annotation-driven /> これは、いくつかの黒魔術を行うものです。これはサーブレットコンフィギュレーションファイルでのみ宣言されることが期待されています。

Spring 2.5では、私はただ <context:annotation-config /><context:component-scan base='...'/> の両方で宣言されたタグです。 application-context.xml とディスパッチャサーブレット設定 XML に適切なベースパッケージをスキャンするように指定します。

とは、いったい何が違うのだろう。 mvc:annotation-drivencontext:annotation-config というタグがありますが、Spring 3の設定ファイルでは何を削除すればよいのでしょうか?

どのように解決するのですか?

<context:annotation-config> のような一般的なアノテーションのサポートを宣言しています。 @Required , @Autowired , @PostConstruct といった具合です。

<mvc:annotation-driven /> は、アノテーション駆動型の MVC コントローラを明示的にサポートすることを宣言しています (すなわち @RequestMapping , @Controller のサポートはデフォルトの動作ですが)、さらに @Valid とメッセージボディのマーシャリングは @RequestBody / ResponseBody .