Configurationの一部が無効化されてしまうため、原則付けないほうが良い(公式ドキュメント)とされています。Configurationの構成が気になったのでググってみたら、ちょうど最近その辺りを読み解いた方がいました。BootでのWebMvcのJavaコンフィグレーションが、読んだだけだと全然頭に入ってこなかったので、クラス図を書きました。クラス図この図の内容を見ながら以下を読んで、ようやく全体が掴めました。@EnableWebMvcを付けると、DelegatingWebMvcConfigurationクラスがインポートされるDelegatingWebMvcConfigurationクラスは、WebMvcConfigurationSupportを継承しているDelegatingWebMvcConfigurationクラスは、WebMvcConfigurerCompositeを生成・保持するWebMvcConfigurerCompositeクラスは、WebMvcConfigurerを実装しているWebMvcAutoconfigurationAdapterクラスにおいて、EnableWebMvcConfigurationクラスがインポートされるWebMvcAutoConfigurationクラスは、WebMvcAutoConfigurationAdapterクラスとEnableWebMvcConfigurationクラスを保持するWebMvcAutoconfigurationAdapterクラスは、WebMvcConfigurerを実装しているEnableWebMvcConfigurationクラスは、DelegatingWebMvcConfigurationクラスを継承している関連クラスのソースコードとドキュメントのリンク関連するクラスが多かったので、ドキュメントやソースコードをまとめておきます。MVCのJavaDocは5.0.8.RELEASE、ソースコードは5.0.xのブランチへのリンクです。BootのJavaDocは2.0.4.RELEASE、ソースコードは2.0.xのブランチへのリンクです。