全部教程
站点收录的全部 Spring Boot 教程,按更新时间排序
起步与环境5 篇
从装 JDK、配 Maven 到写出第一个 Spring 程序,把地基打牢。
01Java 环境搭建全攻略:JDK 安装、环境变量与第一个程序JDK / JRE / JVM 到底是什么关系?三平台安装实操、JAVA_HOME 与 PATH 的真相、多版本共存管理,以及 90% 新手都会踩的 6 个坑。入门35′02Maven 从零到精通:坐标、依赖调解与构建生命周期手写 settings.xml 镜像加速、GAV 坐标与仓库体系、依赖范围与传递依赖调解、三套生命周期与多模块工程——一次讲透 Maven 的每个核心概念。入门60′03IDEA 实战:第一个 Java 工程与编译运行全流程从安装 IDEA 到跑通第一个工程:项目结构、SDK 配置、断点调试、Maven 同步与六大新手坑,一次全部理顺。入门43′04Spring 到底是什么:从 EJB 之痛到 IoC 的诞生为什么一个 2003 年的框架能统治 Java 二十年?从 EJB 的历史教训讲到 IoC 的直觉解释,再看 Spring 全家桶版图与 Spring / Spring Boot 的本质区别。入门46′05第一个 Spring 程序:XML 与注解两种装配方式不依赖 Spring Boot,用 Maven + spring-context 从零装配容器:XML 声明 Bean、注解扫描、构造器与 setter 注入、作用域,两种方式一次对比清楚。进阶53′
内核 · IoC 容器5 篇
BeanDefinition、refresh() 十二步、生命周期与三级缓存——把 IoC 容器拆到骨头缝里。
01IoC 与 DI 彻底讲透:控制反转到底反转了什么从一段会「连环爆炸」的订单代码讲起,把 IoC 的三种理解、DI 的三种注入方式、DIP 与好莱坞原则一次讲清——这是理解整个 Spring 内核的第一块基石。进阶47′02BeanDefinition 详解:Bean 的户口本与注册表容器管理的不是对象,而是「对象的定义」。逐个拆解 BeanDefinition 的核心字段、三种注册来源、父子合并与后置处理器的修改时机。进阶56′03容器启动内核:refresh() 十二步全流程拆解一行 new AnnotationConfigApplicationContext() 背后,是 12 个精密步骤。逐步拆解 refresh() 的每一步职责、对应扩展点与源码位置,看懂 Spring 启动时真正发生的事。高级70′04Bean 生命周期完全指南:从实例化到销毁的每一步一个 Bean 从生到死要经过 8 个阶段、5 类回调。逐阶段给出源码顺序、可运行的验证代码,并回答那个经典问题:AOP 代理到底在哪一步生成?高级62′05循环依赖与三级缓存:Spring 如何解开死结A 依赖 B、B 又依赖 A,Spring 为什么不慌张?三级缓存的查找顺序、提前引用的升级过程、以及「为什么必须是三级而不是两级」的经典追问,一次讲透。高级53′
内核 · AOP 切面5 篇
代理模式、JDK/CGLIB 双雄、@AspectJ 全解,看懂 Spring 的横切魔法。
01AOP 思想入门:横切关注点与代理模式每个方法都要打日志、加事务、查权限——重复代码是怎么被抽走的?从横切关注点讲到代理模式,把 AOP 的全部术语用一张图和一段动画讲明白。进阶41′02动态代理双雄:JDK Proxy 与 CGLIB 原理实战手写一个 JDK 动态代理看清 InvocationHandler,再拆开 CGLIB 的字节码子类;性能对比、限制边界、Spring 的选择逻辑,一次全部拿下。高级53′03@AspectJ 全解:切点表达式与五种通知execution 表达式怎么写、五种通知谁先谁后、参数怎么绑定、多个切面如何排队——切面开发中所有会踩的坑,一篇文章补齐。进阶55′04Spring AOP 内核:自动代理创建器的秘密为什么打上 @Aspect 就能生效?答案藏在 AnnotationAwareAspectJAutoProxyCreator 里。拆解它如何找到切面、筛选 Advisor、选择合适的代理工厂,并给出「切面不生效」的完整自查清单。高级65′05AOP 实战四件套:日志、权限、限流与缓存切面四个可直接抄进项目的切面:注解驱动的操作日志、权限校验、简易令牌桶限流、缓存加速——每个都给完整代码与踩坑说明。进阶80′
三合一注解、自动配置装载、条件装配与自定义 Starter,理解 Boot 的开箱即用。
01第一个 Spring Boot 应用:三分钟跑通 Hello World从 start.spring.io 到浏览器刷新:项目怎么建、启动类每行代码什么意思、内嵌 Tomcat 从哪来、为什么不用配置 web.xml——把第一次运行讲得明明白白。入门66′02@SpringBootApplication 三合一注解拆解一个注解顶三个:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan。逐层拆开它们,顺便弄清包扫描边界、排除自动配置与启动类的摆放哲学。进阶69′03自动配置原理:从 spring.factories 到 AutoConfiguration.imports为什么引入一个 starter 就自动有了数据源和事务管理器?拆解 AutoConfigurationImportSelector 的加载链路、@AutoConfiguration 的排序艺术与条件装配的组合拳。高级71′04条件装配全解:@Conditional 十连问自动配置背后真正的大脑是条件注解。从 @Conditional 元注解讲到 OnClass/OnMissingBean/OnProperty 全家族,配成套的求值顺序与调试技巧。进阶61′05手写一个自定义 Starter:从 0 到被 Boot 自动装载一个能用的 starter 需要几个模块、几个文件、几个注解?从短信服务 Starter 完整实操:自动配置类、条件装配、配置属性绑定、imports 文件与测试验证,一步不落。高级73′06配置体系全解:properties、YAML、绑定与多环境 Profile配置文件加载顺序、@ConfigurationProperties 的松散绑定与校验、Profile 多环境切换、配置加密与外部化——工程里关于配置的所有问题一次讲清。进阶61′
Web 与 MVC5 篇
DispatcherServlet 请求全旅程、参数绑定、RESTful 规范、校验与全局异常。
01DispatcherServlet 内核:一次请求的完整旅程九个组件接力完成一次请求:HandlerMapping 匹配、HandlerAdapter 调用、参数解析、返回值处理、消息转换器序列化——每一步都能亲手在 WASM 内核里跑出来。高级73′02控制器细节全解:参数绑定、返回值与类型转换一个 @GetMapping 方法上到底能写多少种参数?数据从哪来、怎么转换、怎么校验?把控制器参数与返回值的全部玩法连同坑一起讲完。进阶67′03RESTful API 设计规范与统一响应封装什么才算 RESTful?URL 设计、状态码语义、幂等性与版本策略,再配一套企业级统一响应体与业务异常体系(完整可落地的代码)。进阶66′04参数校验与全局异常处理体系从 JSR-303 注解全家桶到分组校验、自定义校验器;再配 @RestControllerAdvice 全局异常兜底,把「校验失败 500」彻底消灭。进阶78′05Filter、Interceptor、AOP 执行顺序与实战三个都能「拦截请求」,到底该用哪个?从 Tomcat 的 Filter 到 Spring MVC 的 HandlerInterceptor,再到方法级 AOP,用一张执行时序图和统一登录拦截实战讲清边界。进阶83′
数据访问与事务6 篇
JDBC 进化史、连接池、MyBatis、JPA、事务传播与 Redis 缓存实战。
01从原生 JDBC 到 JdbcTemplate:数据访问的进化史先看一段让人窒息的原生 JDBC 代码,再一步步重构成 JdbcTemplate——顺便把 SQL 注入、资源泄漏、异常翻译三个数据访问的底层问题讲透。进阶84′02数据源与 HikariCP:连接池原理与调优为什么不能每次请求新建连接?HikariCP 凭什么最快?池大小到底该配多少——用排队论直觉 + 参数表 + 监控手段,把连接池讲成一门可调的手艺。高级58′03MyBatis 整合实战:Mapper、动态 SQL 与分页从 mybatis-spring-boot-starter 起步:#{} 与 ${} 的安全分界、动态 SQL 标签全家桶、关联查询与分页插件,配一套可直接抄用的 XML + 注解双写法。进阶77′04Spring Data JPA 全解:Repository 抽象与 JPQL持久化上下文与实体四态、脏检查与 flush 时机、方法名派生查询、@Query 与 JPQL、分页与动态条件、N+1 与懒加载、审计与乐观锁——把 JPA 的生产用法一次讲透。进阶122′05事务内核:@Transactional 的实现原理与传播机制一个注解凭什么让方法自动提交或回滚?从代理拦截、连接绑定 ThreadLocal 讲到七种传播行为、失效场景大全与分布式事务预告。高级62′06Redis 与 Spring Cache:缓存抽象与实战从缓存穿透、击穿、雪崩三个经典问题讲起,落到 Spring Cache 注解 + Redis 的完整落地:缓存key设计、序列化、过期策略与一致性取舍。进阶67′
测试与工程化5 篇
JUnit 5、集成测试、日志体系、打包秘密与 Docker 部署。
01单元测试入门:JUnit 5 + Mockito 打桩与断言从"为什么测试写得像负担"讲到 JUnit 5 断言体系、@Mock/@InjectMocks 打桩、参数化测试与测试命名规范,配一套可运行的服务层测试。进阶69′02集成测试进阶:@SpringBootTest 与切片测试什么时候需要真容器?@SpringBootTest 的 webEnvironment 四种模式、@WebMvcTest/@DataJpaTest 切片测试、MockMvc 全流程断言与 Testcontainers 真数据库方案。进阶65′03日志体系:SLF4J 门面与 Logback 配置实战门面模式为什么重要、日志级别怎么用、Logback 配置文件怎么写、MDC traceId 如何贯穿链路——把日志从"随手 println"升级成可检索的工程能力。进阶79′04打包与运行:可执行 Jar 的秘密与优雅停机一个 jar 为什么能独立运行?拆开 fat jar 的内部结构,看 Spring Boot 的 LaunchedURLClassLoader;再配启动参数、优雅停机与 systemd 守护的完整部署脚本。进阶65′05Docker 容器化部署:镜像分层与 Compose 编排为 Spring Boot 应用写一个生产级 Dockerfile:多阶段构建、镜像瘦身、分层缓存优化;再用 Compose 一键拉起应用 + MySQL + Redis 的完整环境。进阶96′
安全与高级特性5 篇
Security 过滤器链、JWT/OAuth2、异步线程池、事件驱动与 Actuator 监控。
01Spring Security 内核:过滤器链与认证授权15 个过滤器串成一条安全链,认证与授权在链上各司其职。从 FilterChainProxy 拆到 SecurityFilterChain 配置,把「为什么我的接口突然 401/403」彻底解决。高级51′02JWT 与 OAuth2:无状态认证实战拆开 JWT 的三段结构、手写签发与校验、双 Token 刷新方案,再把 OAuth2 授权码流程一次讲通——前后端分离项目的标准认证方案。进阶68′03异步任务、线程池与定时任务@Async 为什么默认不好用?自定义线程池、拒绝策略、上下文传递、优雅关闭;再配 @Scheduled 的三种调度方式与分布式下的重复执行问题。进阶78′04事件驱动:ApplicationEvent 与消息队列集成从 Spring 内置事件讲到事务事件同步、@Async 异步事件,再到 RabbitMQ/Kafka 的取舍与可靠投递(本地消息表)方案。高级93′05Actuator 与可观测性:健康检查、指标与监控打开 Actuator 之后:健康检查怎么自定义、指标如何暴露给 Prometheus、日志级别动态调整、自定义端点——把"线上到底怎么样了"变成可回答的问题。进阶74′
综合实战项目4 篇
从需求分析到 CI/CD 上线,独立完成一个可交付的 Spring Boot 高级项目。
01实战①:需求分析与整体架构设计BeeOrder 订单中心开篇:把模糊需求变成用户故事与验收标准,定领域模型、模块边界、技术选型与工程结构——写代码前把地基打牢。高级66′02实战②:数据建模与 API 契约设计把领域模型落成表结构:完整 DDL、索引与约束设计、字段类型选型理由;再把接口清单落成契约:DTO/VO 分层、统一响应与错误码、幂等与分页规范。高级118′03实战③:核心业务实现(事务、库存与幂等)下单主流程完整落地:库存校验与扣减、订单落库、事务边界划分、幂等键与乐观锁防超卖、支付回调与超时关单——BeeOrder 最关键的一段代码。高级85′04实战④:测试、CI/CD 与上线交付为 BeeOrder 补齐质量与交付链路:测试策略分层、GitHub Actions 流水线、生产 Compose 编排、优雅停机与探针、Nginx 反代、上线检查清单与压测入门——最后一次把项目推到线上。高级122′