全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-18 5 分钟 ✍️ juanwangdev

SpringBoot内置容器概念

SpringBoot 内嵌 Servlet 容器,无需部署到外部 Tomcat。

传统方式 vs 内嵌容器

对比项传统方式SpringBoot内嵌
部署方式打WAR包部署到Tomcat打JAR包直接运行
启动方式启动外部Tomcatjava -jar启动
配置复杂度需配置Tomcat自动配置
资源占用独立Tomcat进程共享应用进程

内置容器原理

Java
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        // 启动内嵌Tomcat
    }
}

SpringBoot 在启动时:

  1. 检测 Web 环境类型
  2. 自动创建并启动内嵌容器
  3. 注册 Servlet、Filter、Listener

支持的容器

容器默认特点
Tomcat稳定成熟,企业级首选
Jetty轻量级,低内存占用
Undertow高性能非阻塞IO

容器依赖

XML
<!-- spring-boot-starter-web 默认包含 Tomcat -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

容器选择依据

场景推荐
企业级应用Tomcat
微服务/云原生Undertow
低资源环境Jetty

核心优势

  • 简化部署:一个JAR包包含所有依赖
  • 快速启动:秒级启动,适合微服务
  • 便于测试:本地直接运行,无需配置容器
  • DevOps友好:容器化部署更简单

内嵌容器是 SpringBoot"开箱即用"理念的核心体现。

要点总结

  • 内嵌容器无需外部Tomcat部署
  • 默认使用Tomcat,可切换Jetty/Undertow
  • JAR包方式运行,简化运维
  • 适合微服务和云原生场景

📝 发现内容有误?点击此处直接编辑

← 上一篇 SpringBoot Tomcat配置
下一篇 → SpringBoot HTTP请求处理
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库