Spring boot 自定义端口
前言
spring boot本身内置tomcat,我们不需要进行tomcat的配置,只需要引入tomcat的依赖即可.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
自定义端口
方法①
1.spring boot中自定义端口需要入口类实现ConfigurableEmbeddedServletContainer接口.如下代码
@RestController
@EnableAutoConfiguration
public class CustomPortController implements EmbeddedServletContainerCustomizer {
/**
* 自定义端口
* @param container
*/
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(8888);
}
@RequestMapping("/")
public String setPort(){
return "自定义端口:8888";
}
public static void main(String[] args) {
SpringApplication.run(CustomPortController.class,args);
}
}
方法②
2.直接自定义ConfigurableEmbeddedServletContainer.通过自己注册TomcatEmbeddedServletContainerFactory,
JettyEmbeddedServletContainerFactory或UndertowEmbeddedServletContainerFactory
@Bean
public EmbeddedServletContainerFactory servletContainer() {
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.setPort(9000);
factory.setSessionTimeout(10, TimeUnit.MINUTES);
factory.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/notfound.html");
return factory;
}
方法③
3.在配置文件中设置
使用application.properties
server.port=8888
使用application.yml
server:
port: 8888
结语
长路漫漫,与君共勉!