Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Spring Boot 必须部署到外部容器吗?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

不必。选择合适 Web starter 后,应用可以带着嵌入式服务器运行,也可按要求打成 WAR 部署到兼容的外部 Servlet 容器。非 Web 应用甚至不需要 HTTP 容器。部署形式与业务代码分开选择,并检查当前 Boot 所要求的 Servlet 和 Java 版本。

讲清原理

Boot4.1.2官方嵌入式 Servlet 支持包括 Tomcat11与Jetty12.1,对应Servlet6.1;不能沿用旧教程把任意版本的服务器都列为可替换项。外部部署也需要容器兼容,不能只把WAR拷过去就认定成功。

嵌入式减少了独立安装应用服务器的步骤,但运行机仍需合适的Java运行环境,或使用已经准备好运行环境的镜像。生产还需要端口、资源、日志和生命周期管理。

应用制品与运行配置、持久数据有不同生命周期
应用制品与运行配置、持久数据有不同生命周期

例子与易错点

同一任务程序不应为了“Boot必须内置Tomcat”而启动HTTP端口。选择WAR时,区分嵌入式运行依赖与外部提供的Servlet容器,避免重复打包冲突。

相关题:第 8 题、第 23 题、第 36 题。

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。