WebMvcConfigurerAdapter 유형은 사용되지 않습니다.
봄 MVC 버전으로 이행합니다.5.0.1.RELEASE
그러나 갑자기 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/");
}
....
}
이거 어떻게 지워!
Spring 5부터는 인터페이스를 구현하기만 하면 됩니다.WebMvcConfigurer
:
public class MvcConfig implements WebMvcConfigurer {
이는 Java 8이 디폴트 방식을 인터페이스에 도입했기 때문에WebMvcConfigurerAdapter
학급
여기를 참조해 주세요.
스웨거에 상당하는 문서 라이브러리를 연구해 왔습니다Springfox
Spring 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/");
}
봄에는 모든 요청이 Dispatcher Servlet을 통과합니다.DispatcherServlet(프론트 컨트롤러)을 통한 정적 파일 요청을 피하기 위해 MVC 정적 콘텐츠를 구성합니다.
Spring 3.1에서는 ResourceHttpRequestHandlerRegistry가 도입되어 클래스 패스, WAR 또는 파일시스템에서 스태틱리소스를 처리하기 위한 ResourceHttpRequestHandler가 설정되었습니다.웹 컨텍스트컨피규레이션클래스 내에서 ResourceHandlerRegistry를 프로그래밍 방식으로 설정할 수 있습니다.
- 패턴을 ResourceHandler에 추가했습니다.
foo.js
디렉터리에 있는 리소스- 패턴을 ResourceHandler에 추가했습니다.
foo.html
디렉터리에 있는 리소스
@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"/>
파일이 WAR의 webapp/resources 폴더에 있는 경우 Spring Boot MVC Static Content.
spring.mvc.static-path-pattern=/resources/static/**
사용하다org.springframework.web.servlet.config.annotation.WebMvcConfigurer
스프링 부트 2.1.4의 경우.릴리스(스프링 프레임워크 5.1.6).릴리스)를 다음과 같이 실행한다.
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();
}
}
언급URL : https://stackoverflow.com/questions/47552835/the-type-webmvcconfigureradapter-is-deprecated
'programing' 카테고리의 다른 글
PHP 어레이에서 CSV로 (0) | 2022.10.27 |
---|---|
MySQL 설명 계획에서 "Select tables optimized away"의 의미 (0) | 2022.10.27 |
Java 클래스에서 선언된 정적 필드만 검색합니다. (0) | 2022.10.27 |
jQuery를 사용하여 URL에서 앵커를 가져오려면 어떻게 해야 합니까? (0) | 2022.10.27 |
정의된 모든 변수 보기 (0) | 2022.10.27 |