Spring Boot 的主要功能是 简化 Spring 应用的初始搭建和开发流程,其核心特性如下:
1. 自动配置(Auto-Configuration)
• 作用:根据项目依赖(如类路径中的库)自动配置 Spring 应用,无需手动编写 XML 或 Java 配置,简化开发。
• 示例:引入 spring-boot-starter-web 后,自动配置 Servlet 容器(如 Tomcat)、Spring MVC 等组件。
• 注解驱动:通过 @SpringBootApplication(组合了 @Configuration + @EnableAutoConfiguration + @ComponentScan)启动自动配置。
2. 起步依赖(Starter Dependencies)
• 作用:通过预定义的依赖包(如 spring-boot-starter-*),一键整合常用技术栈,避免版本冲突。
• 常用 Starter:
• spring-boot-starter-web:快速开发 Web 应用(含 Tomcat、Spring MVC)。
• spring-boot-starter-test:提供测试工具(如 JUnit、MockMvc)。
3. 内嵌服务器(Embedded Server)
• 支持 Tomcat、Jetty 或 Undertow:无需部署 WAR 包到外部服务器,直接通过 main 方法运行独立应用,直接打成jar包就行。
• 示例:
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args); // 启动内嵌 Tomcat
}
}
4. 简化配置
• 约定优于配置:提供默认配置(如端口号 8080、上下文路径 /),可通过 application.properties 或 application.yml 覆盖。
• 外部化配置:支持环境变量、命令行参数等多途径灵活配置。
5. 生产就绪功能(Actuator)
• 监控与管理:通过 HTTP 端点(如 /health、/metrics)实时监控应用状态,支持健康检查、性能指标等。
• 启用方式:引入 spring-boot-starter-actuator。
Spring Boot 通过以下方式简化开发:
- 注解简化:如
@SpringBootApplication、@RestController等减少模板代码。 - Starter 整合依赖:通过
spring-boot-starter-*统一管理依赖版本,避免手动引入大量 JAR 包。
6. spring boot与spring的比较
- 解决传统 Spring 的配置复杂性
传统 Spring 的痛点:需要手动配置大量 XML 或 Java 代码(如数据源、事务、MVC)。
Spring Boot 的改进:通过预定义的约定,让开发者专注于业务逻辑,而非重复的配置。 - 快速启动和降低学习成本
零配置启动:一个 @SpringBootApplication 注解即可启动应用。
新手友好:无需深入理解底层框架细节,也能快速构建生产级应用。 - 灵活性与扩展性并存
约定不是强制:允许通过自定义配置(如 @Configuration 类)覆盖默认行为。
平衡效率与控制权:开发者既享受默认约定的便利,也能按需调整。
总结
Spring Boot 的核心是 快速构建独立、生产级的 Spring 应用,通过 自动配置 + Starter 依赖 + 内嵌容器 大幅提升开发效率,让开发者专注于业务逻辑而非配置。核心点是:注解,Starter依赖的整合,约定大于配置(大量的配置是已经配置好的,你可以修改在yml文件里面)。

被折叠的 条评论
为什么被折叠?



