spring-boot自定义启动端口

    xiaoxiao2026-03-19  9

    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

    结语

    长路漫漫,与君共勉!

    最新回复(0)