先认清缺口:别把框架当黑盒

很多转岗或速成上手的开发者,写增删改查没问题,但一被问到 Bean 生命周期、循环依赖、作用域区别就卡壳。这门 Spring 体系课解决的就是“只会用注解、不懂底层运转”的脱节问题。它适合已经掌握 Java 基础语法、了解面向对象思想,但在企业级开发框架上存在系统性认知缺口的学习者。如果你写 @Autowired 时不知道容器在背后做了什么动作,或者看不懂 XML 配置和注解配置怎么互相替换,说明你的核心地基没打牢。别假装都会,直接从 IOC 容器和 Bean 的创建方式开始查漏补缺,把框架从“能跑就行”的黑盒变成透明机制。

补漏路线:从容器机制到注入细节

建议先死磕 Spring IOC 容器和创建 Bean 的方式这两块,理解容器如何接管对象控制权。接着顺藤摸瓜看 Bean 的生命周期、作用域和懒加载,搞清楚对象从实例化到销毁经历了哪些阶段,以及单例和多例在内存中的差异。然后重点补依赖注入部分,把 set 注入、构造器注入、集合注入和自动注入放在一起对比练,弄明白不同注入方式在应对复杂依赖时的优劣。最后去啃注解配置,这是现代开发的主流,但只有理解了前面的 XML 体系,才能明白注解到底简化了什么。这部分资料不要只看不动手,必须跟着敲代码验证每一个特性,比如手动改一下作用域,观察控制台输出里对象创建的时机变化。

学完能独立做什么

看完这套资料并配合练习后,你应该能脱离照抄教程的依赖,独立搭建一个完整的 Spring 基础项目。具体来说,你能根据业务需求选择合适的依赖注入方式,能通过注解或配置精准控制 Bean 的作用域和加载时机,还能在项目遇到依赖冲突或初始化报错时,顺着生命周期逻辑定位问题,而不是只会重启或删代码重写。

资料怎么配合练习

资料包里的视频线索主要用来理解底层概念,但看懂和会写是两码事。练习时,建议自己建一个干净的 Maven 工程,不要用教程现成代码。每看完一个章节,比如生命周期,就在自己的工程里写一个包含初始化方法和销毁方法的类,在方法里打印日志,然后关闭容器看日志触发顺序。对于集合注入和自动注入,自己造几个互相依赖的类,分别用 XML 和注解实现一遍相同功能。遇到不懂的点,倒回去重看对应章节视频,缺什么补什么,直到把 IOC 容器的运转机制在脑子里跑通为止。

课程目录

1-1 [Spring章节] Spring 介绍 (53:02)
1-2 [Spring章节] Spring IOC容器 (39:54)
1-3 [Spring章节] 创建Bean的方式 (52:09)
1-4 [Spring章节] 生命周期 (21:38)
1-5 [Spring章节] bean的作用域 (12:39)
1-6 [Spring章节] Bean的懒加载 (15:37)
1-7 [Spring章节] 依赖注入-set方式注入 (31:48)
1-8 [Spring章节] 依赖注入-构造器注入 (23:25)
1-9 [Spring章节] 集合注入 (23:54)
1-10 [Spring章节] 自动注入 (27:48)
1-11 [Spring章节] 注解配置(上) (30:19)
1-12 [Spring章节] 注解配置(中) (35:43)
1-13 [Spring章节] 注解配置(下) (09:29)
1-14 [Spring章节] Aop概述 (19:19)
1-15 [Spring章节] Aop 概念和术语 (27:31)
1-16 [Spring章节] 静态代理和动态代理 (45:00)
1-17 [Spring章节] Spring Aop 注解配置 (01:07:37)
1-18 [Spring章节] Spring Aop xml 配置 (15:36)
1-19 [Spring章节] Spring-jdbc 上 (37:46)
1-20 [Spring章节] Spring-jdbc 中 (20:22)
1-21 [Spring章节] Spring-jdbc 下 (28:12)
1-22 [Spring章节] Spring 事务介绍 (22:09)
1-23 [Spring章节] Spring 事务配置 (50:51)
1-24 [Spring章节] Spring 事务熟悉(续) (44:22)
2-1 [JPA 章节] JPA 介绍 (14:30)
2-2 [JPA 章节] JPA 入门案例 (33:35)
2-3 [JPA 章节] JPA 增删改查 (24:49)
2-4 [JPA 章节] 多对一关联映射 (32:40)
2-5 [JPA 章节] 一队多关联映射 (16:49)
2-6 [JPA 章节] JPA 多对多映射 (31:55)
2-7 [JPA 章节] JPA 一对一映射 (19:30)
2-8 [JPA 章节] JPA 级联操作 (06:04)
2-9 [JPA 章节] JPQL 查询 (58:13)
2-10 [JPA 章节] 二级缓存 (25:20)
2-11 [JPA 章节] Spring 整合JPA(上) (17:31)
2-12 [JPA 章节] Spring 整合 JPA( 下 ) (39:15)
3-1 [Spring Data章节] Spring Data入门 (35:56)
3-2 [Spring Data章节] Spring Data CrudRepository (19:16)
3-3 [Spring Data章节] Spring Data PagingAndSortingRe (20:34)
3-4 [Spring Data章节] Spring Data JpaRepository (11:36)
3-5 [Spring Data章节] Query注解&Modifying注解 (17:46)
4-1 [Spring MVC章节] Spring Mvc概述以及项目架构介绍 (21:44)
4-2 [Spring MVC章节] SpringMvc入门案例 (53:15)
4-3 [Spring MVC章节] 常用注解(上)+数据存储方式以及获取方式 (56:26)
4-4 [Spring MVC章节] 参数接收方案 (08:57)
4-5 [Spring MVC章节] 相对路径以及很路径讲解 (10:06)
4-6 [Spring MVC章节] 回顾以及任务划分 (17:00)
4-7 [Spring MVC章节] 资源跳转(请求转发以及重定向) (22:28)
4-8 [Spring MVC章节] SpringMVC+Spring+Mybatis框架整合 (55:54)
5-1 [SpringMVC+JPA章节] 整合SpringMVC-创建工程 (04:40)
5-2 [SpringMVC+JPA章节] 整合SpringMVC-添加依赖 (03:35)
5-3 [SpringMVC+JPA章节] 整合SpringMVC-web.xml配置 (13:13)
5-4 [SpringMVC+JPA章节] 整合SpringMVC-配置SpringMvc (05:23)
5-5 [SpringMVC+JPA章节] 整合SpringMVC-测试SpringMvc (04:58)
5-6 [SpringMVC+JPA章节] 整合SpringMVC-测试Spring容器 (10:44)
5-7 [SpringMVC+JPA章节] 整合日志-slf4j (02:15)
5-8 [SpringMVC+JPA章节] 整合JPA-添加依赖 (07:03)
5-9 [SpringMVC+JPA章节] 整合JPA-数据源配置 (05:58)
5-10 [SpringMVC+JPA章节] 整合JPA-JPA相关配置&事务配置 (08:52)
5-11 [SpringMVC+JPA章节] 整合JPA-逆向工程创建表 (13:55)
5-12 [SpringMVC+JPA章节] 整合Easyui (16:02)
5-13 [SpringMVC+JPA章节] 整合Easyui添加菜单 (04:15)
5-14 [SpringMVC+JPA章节] 整合Easyui动态添加页签 (12:26)
5-15 [SpringMVC+JPA章节] 整合Easyui添加员工列表控制器 (11:04)
5-16 [SpringMVC+JPA章节] 整合Easyui查询员工列表 (30:37)
5-17 [SpringMVC+JPA章节] 整合Easyui开启分页插件 (23:05)
5-18 [SpringMVC+JPA章节] 整合Easyui开启复选框 (07:52)
5-19 [SpringMVC+JPA章节] 整合Easyui删除功能前段编码 (11:39)
5-20 [SpringMVC+JPA章节] 整合Easyui删除功能后端编码 (18:56)
5-21 [SpringMVC+JPA章节] 整合Easyui添加功能前端编码 (11:06)
5-22 [SpringMVC+JPA章节] 整合Easyui添加功能后端编码 (16:49)
5-23 [SpringMVC+JPA章节] 整合Easyui异步加载部门信息 (32:58)
5-24 [SpringMVC+JPA章节] 整合Easyui修改功能前段编码 (20:22)
5-25 [SpringMVC+JPA章节] 整合Easyui修改功能日期显示 (09:05)
5-26 [SpringMVC+JPA章节] 整合Easyui修改功能后台编码 (19:44)
5-27 [SpringMVC+JPA章节] 整合Easyui登录页面 (19:47)
5-28 [SpringMVC+JPA章节] 整合Easyui登录功能准备数据 (03:45)
5-29 [SpringMVC+JPA章节] 整合Easyui登录功能后端编码 (13:58)
5-30 [SpringMVC+JPA章节] 整合Easyui表单验证 (13:26)
5-31 [SpringMVC+JPA章节] 整合Easyui非法登录拦截 (12:24)
6-1 [spring boot章节] springboot简介以及插件安装 (12:06)
6-2 [spring boot章节] springboot入门实例 (13:08)
6-3 [spring boot章节] springboot热部署以及单元测试 (21:02)
6-4 [spring boot章节] springboot生成jar (10:58)
6-5 [spring boot章节] springboot之properties配置 (13:17)
6-6 [spring boot章节] springboot之yaml配置 (11:27)
6-7 [spring boot章节] springboot多环境配置 (17:35)
6-8 [spring boot章节] springboot之日志配置Logback (20:17)
6-9 [spring boot章节] FreeMarker简介 (05:45)
6-10 [spring boot章节] FreeMarker入门示例 (14:43)
6-11 [spring boot章节] FreeMarker乱码问题 (02:54)
6-12 [spring boot章节] FreeMarker输出对象数据 (13:29)
6-13 [spring boot章节] FreeMarker遍历输出list (08:17)
6-14 [spring boot章节] FreeMarker遍历输出map1 (05:58)
6-15 [spring boot章节] FreeMarker遍历输出Map2 (04:24)
6-16 [spring boot章节] FreeMarker中ifelse的使用 (04:56)
6-17 [spring boot章节] FreeMarker时间处理 (04:25)
6-18 [spring boot章节] Springboot整合FreeMarker (20:14)
6-19 [spring boot章节] springboot整合thymeleaf (27:09)
6-20 [spring boot章节] springbootthymeleaf循环遍历 (13:14)
6-21 [spring boot章节] springbootthymeleaf条件求值 (10:16)
6-22 [spring boot章节] springbootthymeleafurl和字符串 (22:59)
6-23 [spring boot章节] springbootthymeleaf下拉列表 (04:39)
6-24 [spring boot章节] springboot错误处理(一) (17:40)
6-25 [spring boot章节] springboot错误处理(二) (06:20)
6-26 [spring boot章节] springboot错误处理(三) (14:04)
6-27 [spring boot章节] 使用Servlet,Filter,Listener(一) (26:01)
6-28 [spring boot章节] 使用Servlet,Filter,Listener(二) (10:38)
6-29 [spring boot章节] 使用Servlet,Filter,Listener(三) (03:35)
6-30 [spring boot章节] springboot之文件上传 (21:21)
6-31 [spring boot章节] Springboot之文件下载 (14:47)
6-32 [spring boot章节] 整合 Springjdbc(添加、修改、删除) (25:22)
6-33 [spring boot章节] 整合 Springjdbc(查询) (13:59)
6-34 [spring boot章节] 整合 SpringDataJPA(添加、修改) (16:35)
6-35 [spring boot章节] 整合 SpringDataJPA(删除) (02:18)
6-36 [spring boot章节] 整合 SpringDataJPA(查询单个信息findOne (03:00)
6-37 [spring boot章节] 整合 SpringDataJPA(查询单个信息findByI (01:12)
6-38 [spring boot章节] 整合 SpringDataJPA(查询多个findByXxx (18:46)
6-39 [spring boot章节] 整合MyBatis(注解方式使用) (19:09)
6-40 [spring boot章节] 整合MyBatis (XML方式使用查询) (16:14)
6-41 [spring boot章节] 整合redis (44:48)
6-42 [spring boot章节] 整合EhCache(缓存) (53:24)
6-43 [spring boot章节] 整合Redi(缓存) (14:00)
7-1 [SpringCloud] 微服务的描述 (16:11)
7-2 [SpringCloud] 微服务架构 与微服务优点与缺点 (17:42)
7-3 [SpringCloud] 微服务技术栈与为什么选择SpringCloud (22:25)
7-4 [SpringCloud] SpringCloud 是什么 (09:22)
7-5 [SpringCloud] Spring Cloud与Spring Boot的区别 (03:24)
7-6 [SpringCloud] Dubbo 与SpringCloud的区别与参考文档 (11:27)
7-7 [SpringCloud] 微服务架构模块 (03:35)
7-8 [SpringCloud] 微服务的分包分模块的创建聚合工程 (18:00)
7-9 [SpringCloud] 微服务提供者01 (21:11)
7-10 [SpringCloud] 微服务提供者逻辑的编写 (51:15)
7-11 [SpringCloud] 微服务消费者工程01 (44:53)
7-12 [SpringCloud] 微服务消费者的访问 (11:36)
7-13 [SpringCloud] Eureka原理 (18:33)
7-14 [SpringCloud] Eureka的三大角色 (01:42)
7-15 [SpringCloud] EurkeaServer-服务注册中心 (20:13)
7-16 [SpringCloud] 微服务注册进Eureka服务中心 (16:54)
7-17 [SpringCloud] Actuator与注册微服务完善 (25:06)
7-18 [SpringCloud] Eureka自我保护机制 (14:20)
7-19 [SpringCloud] Eureka服务发现-Discovery (19:54)
7-20 [SpringCloud] Eureka集群配置 (28:00)
7-21 [SpringCloud] Eureka比Zookeeper对比 (19:45)
7-22 [SpringCloud] Ribbon概述 (08:44)
7-23 [SpringCloud] 初级配置Ribbon (17:46)
7-24 [SpringCloud] Ribbon配置负载均衡 (21:48)
7-25 [SpringCloud] Ribbon核心组件IRule (15:56)
7-26 [SpringCloud] Ribbo自定义的策略 (32:26)
7-27 [SpringCloud] Feign(负载均衡)是什么 (09:09)
7-28 [SpringCloud] Feign(负载均衡)的使用 (38:25)
7-29 [SpringCloud] Hystrix断路器概述 (11:28)
7-30 [SpringCloud] 服务熔断 (03:19)
7-31 [SpringCloud] Hystrix(断路器)-服务熔断 (28:18)
7-32 [SpringCloud] Hystrix (断路器)-服务降级 (29:13)
7-33 [SpringCloud] hystrixDashboard概述 (03:07)
7-34 [SpringCloud] hystrixDashboard监控服务 (17:36)
7-35 [SpringCloud] hystrixDashboard图像报表的体现与认识 (06:35)
7-36 [SpringCloud] Zuul服务注册到Eureka (20:07)
7-37 [SpringCloud] zuul访问映射规则与前缀 (11:12)
7-38 [SpringCloud] Config分布式配置中心概述 (15:47)
7-39 [SpringCloud] Config服务端与Github通信 (18:52)
7-40 [SpringCloud] Config-Client 通过Config-Server获 (26:17)
7-41 [SpringCloud] SpringCloud_Config实战-01 (15:24)
7-42 [SpringCloud] SpringCloud_Config实战-02 (21:35)