替代不推荐使用的WebMvcConfigurerAdapter?

时间:2019-11-11 21:53:27

标签: java spring spring-mvc

@SuppressWarnings("deprecation")
@EnableWebMvc
@Configuration
@ComponentScan("my.projects")

    public class WebConfig extends WebMvcConfigurerAdapter 
    {
        @Override
        public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
            converters.add(new CsvHttpMessageConverter<>());
        }
        public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
            configurer.favorPathExtension(true).
favorParameter(true).
parameterName("mediaType").ignoreAcceptHeader(false)
            .useJaf(false).defaultContentType(MediaType.APPLICATION_JSON).mediaType("xml", MediaType.APPLICATION_XML)
                    .mediaType("json", MediaType.APPLICATION_JSON).mediaType("csv", new MediaType("text", "csv"));
        }
    }

如果不扩展已弃用的WebMvcConfigurerAdapter,以上操作将无效。有其他选择吗?

1 个答案:

答案 0 :(得分:0)

按照documentation的建议进行操作

  

已弃用。
  从WebMvcConfigurer开始,@Configuration具有默认方法(由Java 8基准实现),可以直接实现而无需此适配器

而是让您的@SuppressWarnings("deprecation") @EnableWebMvc @Configuration @ComponentScan("my.projects") public class WebConfig implements WebMvcConfigurer { @Override public void extendMessageConverters(List<HttpMessageConverter<?>> converters) { converters.add(new CsvHttpMessageConverter<>()); } @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { configurer.favorPathExtension(true).favorParameter(true).parameterName("mediaType").ignoreAcceptHeader(false) .useJaf(false).defaultContentType(MediaType.APPLICATION_JSON) .mediaType("xml", MediaType.APPLICATION_XML).mediaType("json", MediaType.APPLICATION_JSON) .mediaType("csv", new MediaType("text", "csv")); } } 类实现WebMvcConfigurer

<style>
      body {
         background-image: url("background.gif");
         background-repeat: no-repeat;
         background-position: center bottom;
           } 

</style>
       <img src="jen_admin.gif" alt="jenadmin" class="TOP">

 <br></br>
   <h2 id="JENKINS" style="font-family:CANDARA;color:RED;">JENKINS</h2>
   <a href="http://jnkprod1:6007/administrator/" title="Jenkins Administrator" 
        target="_blank">JEN_PROD</a>