Spring Boot更改上下文路徑的四種方式

banq發表於2021-05-24

在本文中,我們將探討在Spring Boot應用程式中更改上下文路徑的選項。預設情況下,Spring Boot伺服器將根目錄("/")作為上下文路徑,讓我們看一些在Spring Boot中更改這種上下文路徑的選項:
 

1.使用屬性檔案更改上下文路徑
application.properties檔案提供了許多配置,包括為您的應用程式更改應用程式上下文的選項。要更改上下文路徑,請在application.properties檔案中使用以下屬性:

Spring Boot 1.0
server.contextPath=/javadevjournal
#### Spring Boot 2.0 Configurations ####
server.servlet.contextPath=/javadevjournal

 

2.使用Java系統屬性
第二種選擇是使用Java系統屬性來設定Spring Boot應用程式的上下文路徑:

System.setProperty("server.servlet.context-path","/javadevjournal")
 

3.命令列引數
Spring Boot還提供了一個選項,可以將上下文資訊作為命令列引數的一部分進行傳遞。
$ java -jar javadevjournal.jar --server.servlet.context-path=/javadevjournal

 

4.使用Java配置
Spring Boot 1.0和2.0提供了一種不同的方式來使用Java配置來配置上下文。對於Spring Boot 2,我們可以使用WebServerFactoryCustomizer。

@Component
public class AppCustomizer implements WebServerFactoryCustomizer {

    @Override
    public void customize(ConfigurableServletWebServerFactory factory) {
        factory.setContextPath("/javadevjournal");
    }
}

對於Spring Boot 1.0,我們可以建立以下例項EmbeddedServletContainerCustomizer:

@Component
public class AppContainerCustomizer implements EmbeddedServletContainerCustomizer {
 
    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8080);
        container.setContextPath("/home"); 
    }
}


本文的原始碼可在GitHub上獲得
 

相關文章