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

in spring-boot •  3 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 애플리케이션에서 컨텍스트 경로 또는 기타 구성 속성을 설정하는 다양한 방법을 빠르게 다루었습니다.



Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!