[번역] 스프링 부트에서 기본 포트를 변경하는 방법

in spring-boot •  3 years ago 

https://www.baeldung.com/spring-boot-change-port/를 번역함.

1. 개요

Spring Boot는 많은 구성 속성에 대해 합리적인 기본값을 제공합니다. 그러나 때때로 우리는 케이스별 값으로 이를 사용자 정의해야 합니다.

그리고 일반적인 사용 사례는 임베디드 서버의 기본 포트를 변경하는 것입니다.

이 빠른 자습서에서는 이를 달성하는 몇 가지 방법을 다룰 것입니다.

2. 속성 파일 사용

Spring Boot를 사용자 정의하는 가장 빠르고 쉬운 방법은 기본 속성 값을 재정의하는 것입니다.

서버 포트의 경우 변경하려는 속성은 server.port 입니다.

기본적으로 내장 서버는 포트 8080에서 시작합니다.

따라서 application.properties 파일 에서 다른 값을 제공하는 방법을 살펴보겠습니다 .

server.port=8081

이제 서버는 포트 8081에서 시작됩니다.

application.yml 파일을 사용하는 경우에도 동일한 작업을 수행할 수 있습니다 .

server:
port : 8081

두 파일 모두 Maven 애플리케이션 의 src/main/resources 디렉토리에 있는 경우 Spring Boot에 의해 자동으로 로드됩니다 .

2.1. 환경별 포트

다른 환경에 배포된 애플리케이션이 있는 경우 각 시스템의 다른 포트에서 실행되기를 원할 수 있습니다.

속성 파일 접근 방식을 Spring 프로필과 결합하여 이를 쉽게 달성할 수 있습니다. 특히, 각 환경에 대한 속성 파일을 생성할 수 있습니다.

예를 들어 다음 내용이 포함 된 application-dev.properties 파일이 있습니다.

server.port=8081

그런 다음 다른 포트를 사용하여 다른 application-qa.properties 파일을 추가 합니다.

server.port=8082

이제 대부분의 경우 속성 파일 구성으로 충분합니다. 그러나 이 목표에 대한 다른 옵션이 있으므로 해당 옵션도 살펴보겠습니다.

3. 프로그래밍 방식 구성

응용 프로그램을 시작할 때 특정 속성을 설정하거나 내장 서버 구성을 사용자 지정하여 프로그래밍 방식으로 포트를 구성할 수 있습니다.

먼저 기본 @SpringBootApplication 클래스 에서 속성을 설정하는 방법을 살펴보겠습니다 .

@SpringBootApplication
public class CustomApplication {
public static void main(String[] args) {
SpringApplication app = new SpringApplication(CustomApplication.class);
app.setDefaultProperties(Collections
.singletonMap("server.port", "8083"));
app.run(args);
}
}

다음으로 서버 구성을 사용자 정의하려면 WebServerFactoryCustomizer 인터페이스 를 구현해야 합니다 .

@Component
public class ServerPortCustomizer
implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {

@Override
public void customize(ConfigurableWebServerFactory factory) {
factory.setPort(8086);
}
}

이것은 Spring Boot 2.x 버전에 적용됩니다.

Spring Boot 1.x의 경우 EmbeddedServletContainerCustomizer 인터페이스를 유사하게 구현할 수 있습니다 .

4. 명령줄 인수 사용

애플리케이션을 jar로 패키징하고 실행할 때 java 명령으로 server.port 인수를 설정할 수 있습니다 .

java -jar spring-5.jar --server.port=8083

또는 동등한 구문을 사용하여:

java -jar -Dserver.port=8083 spring-5.jar

5. 평가순서

마지막으로 이러한 접근 방식이 Spring Boot에서 평가되는 순서를 살펴보겠습니다.

기본적으로 구성 우선 순위는

  • 임베디드 서버 구성
  • 명령줄 인수
  • 속성 파일
  • 메인 @SpringBootApplication 구성

6. 결론

이 기사에서는 Spring Boot 애플리케이션에서 서버 포트를 구성하는 방법을 보았습니다.

항상 그렇듯이 예제의 소스 코드는 GitHub에서 사용할 수 있습니다 .



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!