春ブーツは自動設定springMvc原理を無効に@EnableWebMvc。

説明:

  あなたが独自のJavaプロファイルを定義した場合、および春のブートファイルでノートの@EnableWebMvc、デフォルトの設定の小枝のブートは失敗します。こうしたデフォルトのコンフィギュレーション・パスなどの静的ファイル: "クラスパス:/ META-INF /リソース/"、 "クラスパス:/リソース/"、 "クラスパス:/静的/"、 "クラスパス:/公共/"、失敗します。そして、効果的な構成では、唯一、独自のJava設定を書き込みます。

原則に:

 1.そこで彼は、ソースコード解析を追跡、デフォルトの設定を無効にする必要がなかったか、すべての最初は@EnableWebMvcこのコメントを見て:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented 
@import(DelegatingWebMvcConfiguration。クラス// 导入DelegatingWebMvcConfiguration类
パブリック @のインタフェースEnableWebMvc { 
}

2. [インポートDelegatingWebMvcConfigurationのクラスのノート、およびDelegatingWebMvcConfigurationクラスがWebMvcConfigurationSupportを継承

 

@Configuration
 パブリック クラス DelegatingWebMvcConfigurationは拡張WebMvcConfigurationSupport { 
... //を省略 
}

springMvc自動設定クラスで3見て:

@Configuration 
@ConditionalOnWebApplication 
@ConditionalOnClass({サーブレット。クラス、のDispatcherServlet。クラス
        WebMvcConfigurerAdapter。クラス})
 @ConditionalOnMissingBean(WebMvcConfigurationSupport。クラス 
@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE + 10 
@AutoConfigureAfter(DispatcherServletAutoConfiguration。クラスパブリック クラスWebMvcAutoConfiguration { 
    .. 。 / 省略
}    

マーキングコードの黄色部分ではない参照しないコンテナが存在しない場合、この条件の注釈は、注釈指示である  WebMvcConfigurationSupportは、このクラスは、 あろうWebMvcAutoConfiguration構成クラス

春ロードされました。そして、私たちは、このクラスは、春のコンテナにロードされWebMvcAutoConfiguration入れ@EnableWebMvc注釈を使用します。だから、WebMvcAutoConfigurationのデフォルトの設定クラスは失敗します。

 

おすすめ

転載: www.cnblogs.com/jonrain0625/p/11300569.html