Spring Boot更改上下文路径的四种方式


在本文中,我们将探讨在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上获得