https://www.baeldung.com/spring-boot-context-path/ 를 번역함.
1. 개요
기본적으로 Spring Boot 는 루트 컨텍스트 경로("/")에서 콘텐츠를 제공합니다 .
그리고 일반적으로 구성보다 규칙을 선호하는 것이 좋지만 사용자 지정 경로가 필요한 경우가 있습니다.
이 빠른 자습서에서는 다양한 구성 방법을 다룰 것입니다.
2. 속성 설정
다른 많은 구성 옵션과 마찬가지로 Spring Boot의 컨텍스트 경로는 속성(예: server.servlet.context-path) 을 설정하여 변경할 수 있습니다 .
이것은 Spring Boot 2.x에서 작동합니다.
Boot 1.x의 경우 속성은 server.context-path 입니다.
이 속성을 설정하는 방법에는 여러 가지가 있습니다. 하나씩 살펴보겠습니다.
2.1. 사용 application.properties / YML
컨텍스트 경로를 변경하는 가장 간단한 방법은에서 속성을 설정하는 것입니다 application.properties / YML 파일 :
server.servlet.context-path=/baeldung
속성 파일을 src/main/resources 에 넣는 대신 현재 작업 디렉터리(클래스 경로 외부)에 보관할 수도 있습니다.
2.2. 자바 시스템 속성
컨텍스트가 초기화되기 전에 컨텍스트 경로를 Java 시스템 속성으로 설정할 수도 있습니다.
public static void main(String[] args) {
System.setProperty("server.servlet.context-path", "/baeldung");
SpringApplication.run(Application.class, args);
}
2.3. OS 환경 변수
Spring Boot는 또한 OS 환경 변수에 의존할 수 있습니다. Unix 기반 시스템에서 다음과 같이 작성할 수 있습니다.
$ export SERVER_SERVLET_CONTEXT_PATH=/baeldung
Windows에서 환경 변수를 설정하는 명령은 다음과 같습니다.
> set SERVER_SERVLET_CONTEXT_PATH=/baeldung
위의 환경 변수는 봄 부팅 2.XX입니다 , 우리는 1.xx에는이있는 경우 , 변수는 SERVER_CONTEXT_PATH .
2.4. 명령줄 인수
명령줄 인수를 통해 속성을 동적으로 설정할 수도 있습니다.
$ java -jar app.jar --server.servlet.context-path=/baeldung
3. 자바 구성 사용
이제 Bean Factory를 구성 Bean으로 채워 컨텍스트 경로를 설정해 보겠습니다.
Spring Boot 2에서는 WebServerFactoryCustomizer 를 사용할 수 있습니다 .
@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory>
webServerFactoryCustomizer() {
return factory -> factory.setContextPath("/baeldung");
}
Spring Boot 1에서는 EmbeddedServletContainerCustomizer 의 인스턴스를 생성할 수 있습니다 .
@Bean
public EmbeddedServletContainerCustomizer
embeddedServletContainerCustomizer() {
return container -> container.setContextPath("/baeldung");
}
4. 구성의 우선 순위
이 많은 옵션을 사용하면 동일한 속성에 대해 둘 이상의 구성을 갖게 될 수 있습니다.
다음은 Spring Boot가 효과적인 구성을 선택하는 데 사용하는 내림차순 의 우선 순위입니다 .
- 자바 구성
- 명령줄 인수
- 자바 시스템 속성
- OS 환경 변수
- 현재 디렉토리의 application.properties
- 클래스 경로의 application.properties ( src/main/resources 또는 패키지된 jar 파일)
5. 결론
이 기사에서는 Spring Boot 애플리케이션에서 컨텍스트 경로 또는 기타 구성 속성을 설정하는 다양한 방법을 빠르게 다루었습니다.