修改Spring Boot默认的上下文
前言
默认情况下,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