アノテーションインターフェース EnableWebMvc


このアノテーションを @Configuration クラスに追加すると、Spring MVC 構成が WebMvcConfigurationSupport からインポートされます。例:
 @Configuration
 @EnableWebMvc
 @ComponentScan(basePackageClasses = MyConfiguration.class)
 public class MyConfiguration {
 }
 

インポートされた構成をカスタマイズするには、インターフェース WebMvcConfigurer を実装し、個々のメソッドをオーバーライドします。例:

 @Configuration
 @EnableWebMvc
 @ComponentScan(basePackageClasses = MyConfiguration.class)
 public class MyConfiguration implements WebMvcConfigurer {

     @Override
     public void addFormatters(FormatterRegistry formatterRegistry) {
         formatterRegistry.addConverter(new MyConverter());
     }

     @Override
     public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
         converters.add(new MyHttpMessageConverter());
     }

 }
 

注意 : Spring Web MVC 構成をインポートするための @EnableWebMvc アノテーションを持つことができる @Configuration クラスは 1 つだけです。ただし、提供された構成をカスタマイズするために、WebMvcConfigurer を実装する複数の @Configuration クラスが存在する場合があります。

WebMvcConfigurer で、構成が必要なより高度な設定が公開されていない場合は、@EnableWebMvc アノテーションを削除し、WebMvcConfigurationSupport または DelegatingWebMvcConfiguration から直接拡張することを検討してください。例:

 @Configuration
 @ComponentScan(basePackageClasses = { MyConfiguration.class })
 public class MyConfiguration extends WebMvcConfigurationSupport {

     @Override
     public void addFormatters(FormatterRegistry formatterRegistry) {
         formatterRegistry.addConverter(new MyConverter());
     }

     @Bean
     public RequestMappingHandlerAdapter requestMappingHandlerAdapter() {
         // Create or delegate to "super" to create and
         // customize properties of RequestMappingHandlerAdapter
     }
 }
 
導入:
3.1
作成者:
Dave Syer, Rossen Stoyanchev
関連事項: