[번역] 스프링 부트 변경 컨텍스트 경로

in #spring-boot3 years ago

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가 효과적인 구성을 선택하는 데 사용하는  내림차순 의 우선 순위입니다 .

  1. 자바 구성
  2. 명령줄 인수
  3. 자바 시스템 속성
  4. OS 환경 변수
  5. 현재 디렉토리의 application.properties
  6. 클래스 경로의 application.properties ( src/main/resources 또는 패키지된 jar 파일)

5. 결론

이 기사에서는 Spring Boot 애플리케이션에서 컨텍스트 경로 또는 기타 구성 속성을 설정하는 다양한 방법을 빠르게 다루었습니다.