前言
默認情況下,Spring Boot使用的服務上下文為“/”,我們可以通過“http://localhost:PORT/”
直接誒訪問應用;
但是在生產環境,很多情況下,我們都需要改變應用的默認上下文;
幸運的是,Spring Boot非常靈活簡便,提供能很多種方式來改變應用的上下文;
1) 通過application.properties配置文件改變上下文
通過application.properties配置文件,我們可以非常簡便的配置各種參數,改變上下文就是其中一種,配置如下:
### Default server path #########
server.port=8080
### Context root path ########
server.contextPath=/home
2)通過實現EmbeddedServletContainerCustomizer 接口改變上下文
EmbeddedServletContainerCustomizer
接口可用於自定義配置內置的Servlet容器相關參數,任何實現了EmbeddedServletContainerCustomizer
接口的Bean都會得到一個回調,在容器啟動之前執行,我們可以設置端口,上下文,錯誤頁面等;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.stereotype.Component;
@Component
public class AppContainerCustomizer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(8080);
container.setContextPath("/home");
}
}
3)通過啟動命令行改變上下文
如果我們的應用是以uber的方式打包的話,我們可以使用以下啟動命令來配置上下文:
java -jar -Dserver.contextPath=/home spring-boot-demo.jar