乐途乐途
主页
  • 计算机基础

    • TCP/IP
    • Linux
    • HTTP
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C
    • C++
    • Java SE
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • Maven 入门
    • Maven 进阶
    • MyBatis
    • Spring
    • Spring MVC
  • Java

    • Spring Boot
    • Spring Cloud
    • Spring Cloud Alibaba
    • Spring Security
    • Spring AI
    • Spring Batch
    • Kafka
    • Java 设计模式
  • 缓存

    • Redis
  • 搜索引擎

    • Elasticsearch
  • 分布式协调

    • ZooKeeper
联系
阿里云
主页
  • 计算机基础

    • TCP/IP
    • Linux
    • HTTP
  • 数据库

    • SQL
    • MySQL 5.7
  • 编程语言

    • C
    • C++
    • Java SE
    • Python2
    • Python3
  • 数据格式

    • JSON
    • XML
  • 认证与安全

    • JWT
  • 工具

    • Markdown
  • Git

    • GitFlow
  • Quartz

    • Quartz
  • Java

    • Maven 入门
    • Maven 进阶
    • MyBatis
    • Spring
    • Spring MVC
  • Java

    • Spring Boot
    • Spring Cloud
    • Spring Cloud Alibaba
    • Spring Security
    • Spring AI
    • Spring Batch
    • Kafka
    • Java 设计模式
  • 缓存

    • Redis
  • 搜索引擎

    • Elasticsearch
  • 分布式协调

    • ZooKeeper
联系
阿里云
  • 学习路径
  • 第1章 Spring Boot 概述

    • 章节导读:Spring Boot概述与核心理念
    • Spring Boot是什么
    • Spring Boot与Spring Framework的关系
    • 约定优于配置
  • 第2章 快速入门与第一个应用

    • 章节导读:快速入门与第一个应用
    • SpringApplication
    • 第一个Spring Boot应用
  • 第3章 起步依赖与版本管理

    • 章节导读:起步依赖与版本管理
    • 起步依赖
    • BOM版本管理
  • 第4章 自动配置原理

    • 章节导读:自动配置原理
    • 自动配置原理
    • AutoConfigurationImportSelector
    • 自动配置报告
  • 第5章 核心注解

    • 章节导读:核心注解
    • @SpringBootApplication
    • @EnableAutoConfiguration
    • @ConditionalOnClass
    • @ConditionalOnMissingBean
    • @ConditionalOnBean
    • @ConditionalOnProperty
  • 第6章 外部化配置与属性绑定

    • 章节导读:外部化配置与属性绑定
    • 外部化配置
    • @ConfigurationProperties
    • @Value
    • 配置属性优先级
  • 第7章 Profile 与环境切换

    • 章节导读:Profile与环境切换
    • @Profile
    • 多环境配置文件
  • 第8章 内嵌服务器与部署

    • 章节导读:内嵌服务器与部署
    • 内嵌服务器
    • Fat Jar
  • 第9章 Actuator 与监控

    • 章节导读:Actuator与监控
    • Actuator Health
    • Actuator Info
    • Actuator Metrics
    • 自定义Endpoint
    • 自定义HealthIndicator
  • 第10章 开发工具与最佳实践

    • 章节导读:开发工具与最佳实践
    • Banner自定义
    • 热部署

"小崔问白歌:'咱们这系统怎么部署到测试机?还要装 Tomcat 吗?'白歌说:'不用,Spring Boot 自带了,打包完一个 JAR 文件丢上去,java -jar 就能跑。'这一章,你将理解 Spring Boot 内嵌服务器与 Fat JAR 的部署哲学,掌握应用自包含的运维能力。"

章节导读:内嵌服务器与部署

本章定位

本章解决的核心问题:Spring Boot 应用如何摆脱外部 Servlet 容器的束缚,将应用与服务器打包为单一可执行单元,实现"一次构建,到处运行"的部署体验。

学习路线图

学习顺序说明:先理解内嵌 Tomcat/Jetty/Undertow 的启动原理和 server.port 配置,掌握应用自包含的服务器能力;再深入 Fat JAR 的 BOOT-INF 结构、JarLauncher 加载机制,以及 spring-boot-maven-plugin 的打包过程。两者共同构成 Spring Boot "独立部署"的核心闭环。

文件关系说明

文件一句话角色
内嵌服务器.mdSpring Boot 内嵌 Tomcat/Jetty/Undertow 的启动原理、端口配置与容器切换指南。
Fat_Jar.mdSpring Boot 可执行 JAR 的内部结构、JarLauncher 加载流程与 Maven 打包配置详解。

知识图谱

核心逻辑:Spring Boot 应用通过 spring-boot-maven-plugin 打包为 Fat JAR,内部以 BOOT-INF 隔离业务代码与依赖;启动时由 JarLauncher 创建自定义类加载器,加载内嵌服务器(默认 Tomcat)并随 Spring 容器一同启动。开发者只需 server.port 一行配置,即可完成传统 SSM 需要修改 server.xml + 部署 WAR 的整套操作。

与上下章的衔接

上一章回顾:你已经掌握了 Profile 多环境切换,可以针对不同环境配置不同的服务器端口和参数。

下一章预告:应用运行起来后,如何知道它健不健康?如何监控它的运行状态?下一章「Actuator 与监控」将带你解锁 Spring Boot 的生产级运维能力——健康检查、运行时指标、自定义运维端点,让你的应用从"能跑"升级到"可观测"。

下一页
内嵌服务器