Spring Boot
你可能会说
Java 项目光配置就一堆 XML,为什么现在都说 Spring Boot?
把 Spring 生态打包成「能直接跑」的 Java 后端框架内嵌 Web 服务器,依赖用 starter 一次引入,默认配置开箱即用,打成一个 jar 就能运行。它没有削弱 Spring 的能力,只是把装配和配置自动化了。
也常被叫作SpringBootSpring
什么时候选它
- 用 Java / Kotlin 写 HTTP API、后台服务
- 团队已有 Spring 积累,招聘和排错都容易
- 需要成熟生态:安全、数据访问、消息、监控一应俱全
- 单体服务,或微服务里的单个服务
什么时候别选
- 只是一个脚本或定时任务,引入整套框架偏重
- 追求极冷启动、极低内存(原生镜像可缓解,但要评估)
- 团队完全不会 Java——学习成本在语言和生态,不在框架
容易混在一起 · 怎么分
Spring Boot≠Spring
Spring 是核心容器与生态,Boot 是自动配置 + 内嵌服务器 + starter 的「开箱版」。
Spring Boot≠Spring Cloud
Boot 解决「一个服务怎么跑」,Cloud 解决「很多服务怎么协作」。
starter≠全部能力
引了 web starter 不等于要用它所有能力,按需引入即可。
Q面试会问什么
- 问:自动配置的原理?
答:@SpringBootApplication 里的 @EnableAutoConfiguration 读取依赖中的自动配置清单,再按条件注解(如 @ConditionalOnClass)决定装配哪些 Bean。 - 问:starter 是什么?
答:一组依赖加自动配置的组合,引入即获得某类能力,比如 web、jpa、redis。 - 问:内嵌服务器怎么工作?
答:启动时创建 Tomcat / Netty 等容器并注册路由,打成可执行 jar 后直接 java -jar。
延伸阅读 · 权威出处