2013-10-10 18 views
45

私は約@EnableWebMvcのjavadocを読んでいます。EnableWebMvc注釈の意味

しかし、この注釈が何を意味するのか分かりません。

明確にエクスパルできますか?

+2

からSpring MVCの設定をインポートをフォローアップや答えを受け入れます。 :) – user2339071

+0

私はあなたのためにそれを作った –

答えて

70

SpringアプリケーションをコンフィグレーションするためにJavaコード(XMLとは対照的に)を使用している場合は、@EnableWebMvcを使用してSpring MVCを有効にします。 SpringのJava設定のサポートにまだ精通していない場合は、this is a good place to start

@EnableWebMvcは、XMLで<mvc:annotation-driven />に相当します。着信要求を特定のメソッドにマッピングするためにを使用する、@Controllerのノーティフィケーションクラスのサポートを有効にします。既定で構成する内容と構成をカスタマイズする方法の詳細については、reference documentationを参照してください。

+0

mvcとは何か:アノテーション駆動ですか? –

33

春の世界へようこそ。注釈@EnableWebMVCの意味を理解する前に理解しておく必要があります。

これらの注釈は、本質的にMVC Javaのコンフィグデザインの一部として実装されています:

春は、伝統的な構成の2種類をサポートしています。何の基底クラスはありません

@EnableWebMvc 
@Configuration 
public class WebConfig { 
} 

は、単純なクラスを考えてみましょう。見えない春の豆ません..うーん..

は少し先に進むことができます:

  • これは実際に何を提供しませんか..?

まあ、もう少しボアあなたに、それはたくさんのようなものに提供しています。

  1. @MVC request processing
  2. Global JSR-303 validator

といくつかのより多くを。

アハハ...しかしあなたのアプリケーションは正しく動作します。マジックはどこですか?

@EnableWebMVC <---- What's behind this..?

これはその背後にある:

@Retention(RetentionPolicy.RUNTIME) 
@Import(DelegatingWebMvcConfiguration.class) 
@Target(ElementType.TYPE) 
public @interface EnableWebMvc { 
} 

を参照してください、今、あなたはどのように無意味なこと@EnableWebMVCを使用していることを思うだろう。あなたではなくなりますあなたが上に読むことができ

はそれがお役に立てば幸いです。 :)親切@Configurationクラスにこの注釈の追加

0

がWebMvcConfigurationSupport