Тип WebMvcConfigurerAdapter является устаревшим
Я просто перехожу на версию spring mvc 5.0.1.RELEASE но вдруг в eclipse STS WebMvcConfigurerAdapter помечается как устаревший
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/");
}
....
}
Как я могу удалить это!
3 ответов:
С весны 5 вам просто нужно реализовать интерфейс
WebMvcConfigurer:public class MvcConfig implements WebMvcConfigurer {Это потому, что Java 8 представила методы по умолчанию на интерфейсах, которые охватывают функциональность
WebMvcConfigurerAdapterкласссмотрите здесь:
Я работаю над эквивалентной библиотекой документации Swagger под названием
Springfoxв настоящее время и я обнаружил, что весной 5.0.8 (работает в настоящее время), интерфейсWebMvcConfigurerбыла реализована в классеWebMvcConfigurationSupportкласс, который мы можем напрямую выразить.import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; public class WebConfig extends WebMvcConfigurationSupport { }и вот как я использовал его для настройки моего механизма обработки ресурсов следующим образом -
@Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); }
весной каждый запрос будет проходить через DispatcherServlet. Чтобы избежать статического запроса файла через DispatcherServlet (Front contoller) мы настраиваем статическое содержимое MVC.
Весна 3.1. представил ResourceHandlerRegistry для настройки ResourceHttpRequestHandlers для обслуживания статических ресурсов из пути к классам, войны или файловой системы. Мы можем настроить ResourceHandlerRegistry программно внутри нашего веб-сайта класс конфигурации контекста.
- добавляем
/js/**шаблон для ResourceHandler, позволяет включитьfoo.jsресурс, расположенный вwebapp/js/каталог- добавляем
/resources/static/**шаблон для ResourceHandler, позволяет включитьfoo.htmlресурс, расположенный в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()); } }XML Конфигурация
<mvc:annotation-driven /> <mvc:resources mapping="/staticFiles/path/**" location="/staticFilesFolder/js/" cache-period="60"/>Spring Boot статическое содержимое MVC если файл находится в войнах webapp / resources.
spring.mvc.static-path-pattern=/resources/static/**
Comments