English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
에서 실행됩니다. 8080 Spring Boot 프레임워크는 Spring Boot 응용 프로그램을 실행하기 위한 기본 내장 서버(Tomcat)를 제공합니다. 그것은 포트
서버에서 실행할 수 있습니다. Spring Boot에서 포트를 변경할 수 있습니다.
사용 application.properties Spring Boot에서 포트를 변경할 수 있습니다. 다음 인터페이스와 속성 파일을 사용하여 사용 application.yml Spring Boot에서 포트를 변경할 수 있습니다. 다음 인터페이스와 속성 파일을 사용하여 사용 EmbeddedServletContainerCustomizer 파일 사용 웹 서버 팩토리 커스터마이저 인터페이스 사용명령行 매개변수
기본 포트를 변경하려면 application.properties 파일을 사용하는 것이 좋습니다. 이는 기본 값을 덮어쓰는 쉬운 방법입니다. 우리는 server.port 속성을 기본 속성으로 덮어쓰십시오.
예를 들어, 기본 포트를8080으로 변경하려면8082application.properties 파일에서 해당 속성을 지정하십시오.
application.properties
server.port=8082
port 속성을 0으로 설정할 수 있습니다. 그것은 응용 프로그램의 무작위 포트를 스캔합니다. 응용 프로그램을 다시 시작할 때마다 새 포트를 사용합니다.
application.properties
server.port=0
그와 유사하게, 우리는 yml 파일을 사용하여 기본 포트를 변경할 수 있습니다. 사용 application.properties 또는 application.yml 파일이 두 개의 파일의 작동 방식이 동일합니다.
application.yml
server: port:8082
당신이 사용하는 경우 스프링 부트 1.x 버전에서는 인터페이스를 제공할 것입니다 EmbeddedServletContainerCustomizer 기본 포트를 변경할 수 있습니다.
EmbeddedServletContainerCustomizer 인터페이스
EmbeddedServletContainerCustomizer를 사용하여 자동으로 구성된嵌入式 Servlet 컨테이너를 커스터마이즈할 수 있습니다. 컨테이너를 시작하기 전에, 이러한 유형의 모든 Bean은 컨테이너 팩토리를 통해 콜백을 받습니다. 따라서, 우리는 포트, 주소및 균일한 오류 페이지에서 org.springframework.boot.context.embedded 패키지에서 정의되었습니다.
이 인터페이스는 customize()메서드를 통해 컨테이너를 정의하고, 컨테이너를 사용하여 컨테이너를 정의할 수 있습니다 ConfigurableEmbeddedServletContainer 을解析해야 합니다. 우리는 컨테이너의 매개변수를 반영합니다.
void customize(ConfigurableEmbeddedServletContainer container)
ConfigurableEmbeddedServletContainer 인터페이스
이는 EmbeddedServletContainerFactory 인터페이스(Bean 생성을 위해 사용) EmbeddedServletContainers의 팩토리 인터페이스)에서 변경된 인터페이스입니다. 에서 org.springframework.boot.context.embedded 패키지에서 정의되었습니다. 그것은 포트를 변경하는 메서드인 setPort() 메서드를 포함하고 있습니다
setPort() 메서드
setPort() 메서드를 통해嵌入式 서블릿 컨테이너가 접속할 포트를 설정합니다. 포트를 지정하지 않으면 기본 포트를 사용합니다 8080 。또한, 내장 서버의 자동 시작 기능을 비활성화하려면, 포트 -1 。포트-1은 모든 포트를监听하지 않고 Web 애플리케이션 컨텍스트를 시작하도록 설명합니다. 이 메서드는 int형의 파라미터 포트( 설정할 por t)。
void setPort(int port)
아래의 예제에서, 우리는 이름을 ServerCustomizer 의 클래스를 구현하였으며, EmbeddedServletContainerCustomizer 인터페이스를 구현하였습니다. 우리는 customize() 메서드를 재정의하고, 포트 설정을 호출하였습니다 8097 의 setPort() 메서드.
ServerCustomizer.java
@Component public class ServerCustomizer implements EmbeddedServletContainerCustomizer public void customize(ConfigurableWebServerFactory factory) @Override public void customize(ConfigurableEmbeddedServletContainer container) public void customize(ConfigurableWebServerFactory factory) container.setPort(8097factory.setPort( ); );
스프링 부트 2.x 버전에서 제공됩니다 웹 서버 팩토리 커스터마이저 인터페이스를 통해 기본 포트를 변경할 수 있습니다. 그것은 패키지에서 정의되었습니다. org.springframework.boot.web.server 에서 정의된 Web서버 공장 타입의 파라미터를 해석합니다 T .
public interface WebServerFactoryCustomizer<T extends WebServerFactory<
이 인터페이스는 customize()메서드를 설정할 수 있습니다. 이 메서드는 우리가自定义하려는名为 factory 의 파라미터를 설정합니다. 컨테이너를 시작하기 전에, 이러한 유형의 모든 Bean은 서버 공장을 통해 콜백됩니다. 따라서, 우리는 포트, 주소및 에러 페이지.
void customize(T factory)
WebServerFactory 인터페이스
이는 공장의 표시 인터페이스입니다. 그것은 org.springframework.boot.web.server 패키지에서 정의되었습니다. 그것은 WebServer .
ConfigurableWebServerFactory
이는 웹 서버 공장을 구성하는 인터페이스입니다. 그것은 패키지 org.springframework.boot.web.server 에서 정의되었습니다. 그것은 WebServerFactory 및 ErrorPageRegistory 。그것은 포트를 변경하는 메서드를 포함하고 있습니다 setPort()메서드
setPort()
setPort() 메서드를 사용하여 내장 servlet 컨테이너의 포트를 설정해야 합니다. 포트를 지정하지 않으면, 기본 포트를 사용합니다 8080 。또한, 내장 서버의 자동 시작 기능을 비활성화하려면, 포트 -1 。포트-1은 모든 포트를监听하지 않고 Web 애플리케이션 컨텍스트를 시작하도록 설명합니다. 이 메서드는 int형의 파라미터 포트( 설정할 port )。
void setPort(int port)
아래의 예제에서, 우리는 이름을 ServerCustomizer 의 클래스는 WebServerFactoryCustomizer 인터페이스를 구현한 것입니다.我们已经重写了customize()方法,并调用了setPort()方法来设置端口 9001 .
ServerCustomizer.java
@Component public class ServerCustomizer implements WebServerFactoryCustomizer< ConfigurableWebServerFactory < public void customize(ConfigurableWebServerFactory factory) @Override @Override public void customize(ConfigurableWebServerFactory factory) {9001factory.setPort( ); );
명령행 매개변수 사용
Spring Boot에서도 명령행 매개변수를 사용하여 포트를 변경할 수 있습니다. 다음 단계를 따라야 합니다: 의 포트를 선택했습니다. 따라서 그것을 선택했습니다.실행개의 Spring Boot 애플리케이션을 열 수 있습니다.메뉴를 선택한 후실행 구성-
또는 애플리케이션 파일을 오른쪽 클릭하고-<실행 방식
<
실행 구성. "실행 구성" 창이 화면에 표시됩니다.실행 구성 창
가 화면에 나타납니다. 포트를 변경하려는 애플리케이션 파일을 선택하세요. 우리의 예제에서는 다음과 같이 변경하고 싶습니다: SpringBootHelloWorldExampleApplication 의 포트를 선택했습니다. 따라서 그것을 선택했습니다.클릭하세요.매개변수
태그. 에서VM 매개변수필드에 -Dserver.port = 9001 사용자 정의 포트를 지정할 수 있습니다. 기본적으로 설정된 포트 대신에:9001.
이제 각각을 클릭하세요.애플리케이션및실행버튼
"실행" 버튼을 클릭하면 애플리케이션이 시작됩니다. 컨솔을 통해 어떤 포트에서 서버가 실행 중인지 확인할 수 있습니다. 예를 들어:
브라우저를 열고 URL http:을 호출하세요://localhost: 9001그리고 그 포트에서 실행 중입니다. 9001 에서 애플리케이션을 실행하세요。