@EnableWebMvc
に関するjavadocを読みました。
しかし、この注釈の意味がわかりませんか?
あなたはそれをはっきりと証明できますか?
Springアプリケーションを構成するために(XMLではなく)Javaコードを使用している場合、Spring MVCを有効にするために@EnableWebMvc
が使用されます。 Java構成に対するSpringのサポートにまだ慣れていない場合は、 開始するのに適した場所です 。
@EnableWebMvc
は、XMLの<mvc:annotation-driven />
と同等です。 @Controller
を使用して着信リクエストを特定のメソッドにマッピングする@RequestMapping
アノテーション付きクラスのサポートを有効にします。 リファレンスドキュメント で、デフォルトで何が設定されているか、設定をカスタマイズする方法に関する詳細情報を読むことができます。
春の世界へようこそ。注釈@EnableWebMVC
の意味を理解する前に、理解する必要があることがあります。
Springは従来、2種類の構成をサポートしています。
これらの注釈は、本質的にMVC Java Config Designの一部として実装されます。
簡単なクラスを考えてみましょう:
@EnableWebMvc
@Configuration
public class WebConfig {
}
基本クラスはありません。春豆は見えません。
さらに進んでみましょう:
まあ、もう少しあなたを退屈させるために、それは次のような多くのものを提供します:
さらにいくつか。
Ahahah ...しかし、アプリケーションは正しく動作します。それで、魔法はどこにありますか?
@EnableWebMVC <---- What's behind this..?
これは背後にあります:
@Retention(RetentionPolicy.RUNTIME)
@Import(DelegatingWebMvcConfiguration.class)
@Target(ElementType.TYPE)
public @interface EnableWebMvc {
}
@EnableWebMVC
を使用することで、どのように無意味であると思うでしょう。むしろあなたは:
@Bean
およびその他の使用可能なメソッドをオーバーライドします以下で読むことができます:
それが役に立てば幸い。 :)
この注釈を@Configurationクラスに追加すると、WebMvcConfigurationSupportからSpring MVC構成がインポートされます