SpringBoot 更改端口

Spring Boot框架提供了用于運行Spring Boot應用程序的默認嵌入式服務器(Tomcat)。它在端口 8080 上運行??梢栽赟pring Boot中更改端口。

我們可以在 Spring Boot 中更改端口。通過使用以下接口和屬性文件:

使用 application.properties 文件 使用 application.yml 文件 使用 EmbeddedServletContainerCustomizer 接口 使用 WebServerFactoryCustomizer 界面 使用命令行參數

使用application.properties文件

如果要更改默認端口,建議您使用application.properties文件。因為這是一種覆蓋默認值的簡便快捷的方法。我們使用 server.port 屬性覆蓋默認屬性。

例如,如果要將默認端口8080更改為8082,請在application.properties文件中指定該屬性。

application.properties

server.port=8082

我們還可以將port屬性設置為0。它將掃描應用程序的隨機端口。每當我們重新啟動應用程序時,它都會使用一個新端口。

application.properties

server.port=0

使用application.yml文件

類似地,我們也可以使用 yml 文件來更改默認端口。使用 application.properties application.yml 文件,兩個文件的工作方式相同。

application.yml

server:
      port:8082

使用EmbeddedServletContainerCustomizer接口

如果您使用的是 Spring Boot 1.x 版本,它將提供一個接口 EmbeddedServletContainerCustomizer 更改默認端口。

EmbeddedServletContainerCustomizer接口

通過使用EmbeddedServletContainerCustomizer,我們可以自定義自動配置的嵌入式Servlet容器。在啟動容器本身之前,所有這種類型的Bean都會通過容器工廠獲得回調。因此,我們可以設置 端口,地址均勻錯誤頁面。它在 org.springframework.boot.context.embedded 包中定義。

該接口包含名為 customize()的方法。它允許我們自定義和指定 ConfigurableEmbeddedServletContainer 。它解析我們要自定義的名為 容器的參數。

語法

void customize(ConfigurableEmbeddedServletContainer container)

ConfigurableEmbeddedServletContainer接口

這是一個反映 EmbeddedServletContainerFactory 接口(用于創(chuàng)建 EmbeddedServletContainers的工廠接口)中的更改的接口。 。它在 org.springframework.boot.context.embedded 包中定義。它包含一種用于更改端口的方法,稱為setPort()方法。

setPort()方法

setPort()方法配置嵌入式servlet容器應偵聽的端口。如果不指定端口,它將使用默認端口 8080 。如果要禁用嵌入式服務器的自動啟動功能,請使用端口 -1 。端口-1表示它將不監(jiān)聽任何端口,而是啟動Web應用程序上下文。該方法解析類型為int的參數端口(要設置的 por t)。

語法

void setPort(int port)

在下面的示例中,我們創(chuàng)建了一個名為 ServerCustomizer 的類,并實現了EmbeddedServletContainerCustomizer接口。我們已經重寫了customize()方法,并調用了設置端口 8097 的setPort()方法。

ServerCustomizer.java

@Component
public class ServerCustomizer implements EmbeddedServletContainerCustomizer 
{
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) 
    {
        container.setPort(8097);
    }
}

使用WebServerFactoryCustomizer接口

Spring Boot 2.x版本提供了 WebServerFactoryCustomizer 接口來更改默認端口。它在包 org.springframework.boot.web.server 中定義。它解析Web服務器工廠類型的參數 T 。

語法

public interface WebServerFactoryCustomizer<T extends WebServerFactory<

該接口包含名為 customize()的方法。它允許我們自定義Web服務器工廠。它解析我們要自定義的名為 factory 的參數。在啟動容器本身之前,所有這種類型的Bean都會通過服務器工廠進行回調。因此,我們可以設置 端口,地址錯誤頁面

語法

void  customize(T factory)

WebServerFactory接口

這是工廠的標記接口。它在 org.springframework.boot.web.server 包中定義。它創(chuàng)建一個 WebServer 。

ConfigurableWebServerFactory

這是配置Web服務器工廠的界面。它在包 org.springframework.boot.web.server 中定義。它擴展了 WebServerFactory ErrorPageRegistory 。它包含一種更改端口的方法,稱為 setPort()方法。

setPort()

setPort()方法配置應偵聽嵌入式servlet容器的端口。當我們不指定端口時,它將使用默認端口 8080 。如果要禁用嵌入式服務器的自動啟動功能,請使用端口 -1 。端口-1表示它將不監(jiān)聽任何端口,而是啟動Web應用程序上下文。該方法解析類型為int的參數端口(要設置的 port )。

語法

void setPort(int port)
注意: 此setPort()方法的接口為ConfigurableWebServerFactory。

在下面的示例中,我們創(chuàng)建了一個名為 ServerCustomizer 的類,該類實現了WebServerFactoryCustomizer接口。我們已經重寫了customize()方法,并調用了setPort()方法來設置端口 9001

ServerCustomizer.java

@Component
public class ServerCustomizer implements WebServerFactoryCustomizer< ConfigurableWebServerFactory < 
{
    @Override
    public void customize(ConfigurableWebServerFactory factory) 
    {
        factory.setPort(9001);
    }
}

使用命令行參數

我們還可以通過使用命令行參數在Spring Boot中更改端口。我們必須遵循以下步驟:

打開任何Spring Boot應用程序。 單擊運行菜單,然后選擇運行配置,或右鍵單擊應用程序文件- <運行方式-<  運行配置。屏幕上將顯示"運行配置"窗口。  
 Spring Boot更改端口  
 運行配置窗口出現在屏幕上。  
 Spring Boot更改端口
選擇要在其中更改端口的應用程序文件。在我們的實例中,我們想更改 SpringBootHelloWorldExampleApplication 的端口,所以我們選擇了它。 單擊參數標簽。
Spring Boot更改端口
VM參數字段中寫入 -Dserver.port = 9001 。您可以指定自己的端口,而不是9001。
Spring Boot更改端口
現在,分別單擊應用運行按鈕。
單擊"運行"按鈕后,應用程序開始運行。我們可以看到控制臺,以查看正在哪個端口服務器上運行,如下所示。
Spring Boot更改端口
打開瀏覽器并調用URL http://localhost: 9001。它在端口 9001 上運行應用程序。
Spring Boot更改端口


丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清