java - tutorial - El tipo WebMvcConfigurerAdapter está en desuso




spring tutorial (3)

Acabo de migrar a Spring 5.0.1.RELEASE versión 5.0.1.RELEASE pero de repente en eclipse STS WebMvcConfigurerAdapter está marcado como obsoleto

public class MvcConfig extends WebMvcConfigurerAdapter {
  @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
        // to serve static .html pages...
        registry.addResourceHandler("/static/**").addResourceLocations("/resources/static/");
    }
  ....
  }

¿Cómo puedo eliminar esto?

https://code.i-harness.com



En primavera, cada solicitud pasará por el DispatcherServlet . Para evitar la solicitud de archivos estáticos a través de DispatcherServlet (controlador frontal) configuramos el contenido estático de MVC .

Primavera 3.1. introdujo ResourceHandlerRegistry para configurar ResourceHttpRequestHandlers para servir recursos estáticos desde classpath, WAR o el sistema de archivos. Podemos configurar ResourceHandlerRegistry mediante programación dentro de nuestra clase de configuración de contexto web.

  • hemos agregado el patrón /js/** al ResourceHandler, foo.js recurso foo.js ubicado en el directorio foo.js webapp/js/
  • hemos agregado el patrón /resources/static/** al ResourceHandler, foo.html recurso foo.html ubicado en el directorio webapp/resources/
@Configuration
@EnableWebMvc
public class StaticResourceConfiguration implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        System.out.println("WebMvcConfigurer - addResourceHandlers() function get loaded...");
        registry.addResourceHandler("/resources/static/**")
                .addResourceLocations("/resources/");

        registry
            .addResourceHandler("/js/**")
            .addResourceLocations("/js/")
            .setCachePeriod(3600)
            .resourceChain(true)
            .addResolver(new GzipResourceResolver())
            .addResolver(new PathResourceResolver());
    }
}

Configuración XML

<mvc:annotation-driven />
  <mvc:resources mapping="/staticFiles/path/**" location="/staticFilesFolder/js/"
                 cache-period="60"/>

Contenido estático de Spring Boot MVC si el archivo se encuentra en la carpeta webapp / resources de WAR.

spring.mvc.static-path-pattern=/resources/static/**

Utilice org.springframework.web.servlet.config.annotation.WebMvcConfigurer

Con Spring Boot 2.1.4.RELEASE (Spring Framework 5.1.6.RELEASE), haga esto

package vn.bkit;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; // Deprecated.
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
public class MvcConfiguration implements WebMvcConfigurer {

    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/");
        resolver.setSuffix(".html");
        return resolver;
    }

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

}






spring-mvc