spring-boot自定义启动端口

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

结语

长路漫漫,与君共勉!

上一篇:阿里云合规审计产品-配置审计(公测)发布


下一篇:数据传递--------博客-----------springMVC源码分析--RequestToViewNameTranslator请求到视图名称的转换