Spring Boot修改内置Tomcat端口号

Spring Boot 内置Tomcat默认端口号为8080,在开发多个应用调试时很不方便,本文介绍了修改 Spring Boot内置Tomcat端口号的方法。

一、EmbeddedServletContainerCustomizer接口


EmbeddedServletContainerCustomizer接口提供了customize方法用来自定义servlet容器的一些属性

如图编写实现类在customize方法中可设置容器端口号为8088


二、TomcatEmbeddedServletContainerFactory

直接设置TomcatEmbeddedServletContainerFactory的相应属性值也可以修改tomcat端口,如图


public class TomcatEmbeddedServletContainerFactory
		extends AbstractEmbeddedServletContainerFactory implements ResourceLoaderAware
public abstract class AbstractEmbeddedServletContainerFactory
		extends AbstractConfigurableEmbeddedServletContainer
		implements EmbeddedServletContainerFactory 
可以看到Tomcat默认的端口号8080是在这里设置的


三、修改默认配置

Spring Boot默认配置文件为CLASSPATH下的application.properties
在application.properties中添加server.port=8011,可将tomcat默认端口号修改为8011

### 如何在Spring Boot项目中配置嵌入式Tomcat服务器 #### 修改`application.properties`文件中的属性设置 通过修改 `application.properties` 文件可以轻松调整嵌入式 Tomcat 的行为。例如,更改端口号或上下文路径: ```properties server.port=8090 server.servlet.context-path=/myapp ``` 这些简单的配置项允许开发者快速定制应用的服务地址[^1]。 #### 自定义内嵌Tomcat容器 如果需要更复杂的自定义化操作,则可以通过实现 `WebServerFactoryCustomizer<TomcatServletWebServerFactory>` 接口来进行深入配置: ```java import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; @Configuration public class CustomizationBean implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> { @Override public void customize(TomcatServletWebServerFactory factory) { // 设置最大线程数 factory.getTomcat().getConnector().setProperty("maxThreads", "200"); // 添加额外的连接器参数 factory.addConnectorCustomizers(connector -> connector.setProperty("connectionTimeout", "20000")); } } ``` 这段代码展示了如何扩展默认的行为并加入特定需求下的优化措施[^3]。 #### 替换为其他内置服务器 值得注意的是,在某些情况下也可以选择不使用默认提供的嵌入式 Tomcat 而改用 Jetty 或者 Undertow 。这只需要简单地排除掉 spring-boot-starter-web 中自带的 tomcat starter 并引入相应的新依赖即可完成切换[^2]。 然而需要注意的是,尽管这样做提供了灵活性,但也可能导致与业务逻辑紧密关联的安全隐患增加的风险;相比之下,传统的独立部署方式往往能获得更好的安全性保障[^4]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值