SpringBoot 是由Pivotal 团队开发的Spring 生态脚手架框架,基于 Spring4.0 + 设计,彻底简化 Spring 应用的开发、配置、部署流程,是目前 Java 后端开发的主流首选框架。
1.自动配置:无需手动编写 XML 配置,根据项目依赖自动配置 Bean
2.起步依赖:封装场景化依赖,一键引入,无需管理版本冲突
3.内嵌服务器:内置 Tomcat/Jetty/Undertow,直接运行项目,无需外部服务器
4.零代码生成 / 零 XML:纯注解 + Java Config 开发
5.应用监控:内置 Actuator,支持生产级应用监控
6.生态无缝整合:完美兼容 SpringMVC、SpringData、SpringCloud 等

配置:项目类型→语言→SpringBoot 版本→项目信息→添加依赖(Spring Web)→下载导入 IDEA
New → Project → Spring Initializr → 配置信息 → 选择依赖 → 完成

✅ 关键规则:主启动类必须放在根包路径,否则 Spring 无法扫描组件!
组合注解,等价于 3 个注解,是 SpringBoot 的灵魂:
1.@SpringBootConfiguration:标记为配置类(底层 @Configuration)
2.@EnableAutoConfiguration:开启自动配置(核心)
3.@ComponentScan:组件扫描,默认扫描主启动类包及子包



SpringBoot 支持 properties 和 yml 两种配置,同名 yml 优先级更高。


✅ YML 优势:结构清晰、支持对象 / 数组、适合复杂配置。
1.项目根目录 /config
2.项目根目录
3.resources/config
4.resources(默认)
application-{profile}.yml1.application-dev.yml:开发环境
2.application-test.yml:测试环境
3.application-prod.yml:生产环境
主配置激活环境:




Starter 是场景化依赖封装,SpringBoot 官方 / 第三方封装好的依赖坐标,引入即用,无需管理版本。

基于Maven 依赖传递,Starter 内部定义了场景所需所有依赖及统一版本,彻底解决版本冲突问题。
1.主启动类@SpringBootApplication → 开启@EnableAutoConfiguration
2.通过@Import导入配置选择器,读取SPI 配置文件
3.加载所有自动配置类
4.通过条件注解判断是否满足环境,满足则自动创建 Bean

自动配置 = SPI 机制 + 条件注解,SpringBoot 帮你自动配置 Bean,零 XML 开发。
SpringBoot 默认内置 Tomcat,无需手动部署。


无需配置,直接写 Controller:






使用:

1.主启动类加@EnableScheduling
2.编写任务

1.主启动类加@EnableAsync
2.方法加@Async

SpringBoot 默认使用 Logback,无需额外配置。
TRACE < DEBUG < INFO < WARN < ERROR < OFF,默认级别INFO。

1.默认已引入spring-boot-starter-test
2.编写测试类:

SpringBoot 默认打包可执行 Jar,内置服务器,一键运行。
Maven 命令:

运行:

1.主启动类继承SpringBootServletInitializer
2.pom.xml 修改为war打包
3.排除内嵌 Tomcat
4.放入外部 Tomcat 运行
开发时自动重启项目,提升效率:

引入依赖后,可监控应用健康、Bean、配置等生产级指标。
默认路径:/static、/public、/resources
访问:http://localhost:8080/xxx.js
1.SpringBoot 自动配置原理?
2.@SpringBootApplication 注解作用?
3.Starter 机制原理?
4.配置文件优先级?
5.内嵌服务器有哪些?如何切换?
6.SpringBoot 如何解决循环依赖?
7.@Value 和 @ConfigurationProperties 区别?
8.条件注解有哪些?作用?
9.SpringBoot 打包方式?
10.多环境配置如何实现?
1.主启动类必须放在根包,否则组件无法扫描
2.YML 配置严格缩进,否则报错
3.MyBatis 必须加@Mapper/@MapperScan
4.依赖版本冲突:使用 SpringBoot 父工程统一管理
5.热部署仅用于开发环境,生产环境关闭
SpringBoot 是 Java 后端开发的基石框架,核心价值是自动配置和起步依赖,彻底解决了 Spring 开发繁琐的问题。
本文覆盖了:
✅ 入门基础 → ✅ 核心原理 → ✅ 实战整合 → ✅ 面试考点
掌握这些内容,足以应对日常企业开发和大厂面试,是 SpringBoot 学习的一站式总结!
原文作者:六义义;如有侵权,请联系管理员删除。