先弄清楚:这门资料到底解决什么问题

这份资料聚焦的是 Spring 框架的核心机制与底层原理。很多做 Java 业务开发的人,日常写 Controller 和 Service 看似顺畅,但一旦遇到 Bean 循环依赖报错、作用域冲突,或者需要扩展容器做基础架构封装时,就完全摸不着头脑。这份资料的价值,就是帮你把控制反转和依赖注入的底层逻辑彻底打通。它不是教你如何快速搭一个增删改查网页,而是拆解容器如何管理对象、生命周期回调在哪个环节触发。如果你正准备面试高级开发岗,或者想从写业务代码转型做框架封装,这套原理拆解能直接填补你知其然而不知其所以然的短板。

适合什么基础:最好别真是零基础

虽然资料开篇写着从小白开始,但作为编辑筛课,我必须提醒你别误判门槛。这里的零基础指的是没接触过 Spring 框架,而不是连 Java 基本语法都不熟。如果你连面向对象、集合、接口这些基础概念都还模糊,直接看底层源码逻辑会非常吃力。最合适的人群是:有 Java 基本功,写过几个完整项目,但一直停留在调用现成注解阶段,想搞懂注解背后容器到底做了什么的人。对于正在转行做后端开发的人来说,如果你刚学完基础语法,我建议先去写两三个纯 Servlet 或者简单业务模块练手,再来啃这套资料,否则很容易因为缺乏场景共鸣而半途而废。

怎么用:建议的切入顺序与练习配合

  • 先看依赖查找与依赖注入的基础对比:不要跳过开篇讲控制反转由来的章节,这部分直接决定你对为什么需要容器的理解深度。搞懂手动查找与自动注入的区别,再去碰后续的复杂类型注入。
  • 重点死磕 Bean 生命周期与作用域:这是整套资料最值钱的部分。建议配合本地写测试类,自己敲一遍初始化与销毁的回调方法,通过打断点观察执行顺序。光看文档不敲代码,生命周期这块绝对记不牢。
  • 进阶内容按需查阅:像 SpEL 表达式和容器对比这类内容,初学时理解概念即可,不用死记。等你在实际业务中遇到动态解析或者需要切换容器实现时,再回来定向查阅即可。

学完这套资料,你应该能独立排查 Spring 环境下大多数的 Bean 冲突报错,能根据业务场景自定义组件的加载方式,并且具备看懂其他开源框架如何扩展 Spring 容器的能力。资料配合练习的核心原则只有一个:每看懂一个特性,立刻在本地建个空工程,写注解打断点验证一遍,不要只拿眼睛过流程。


从0开始手把手教你学习 Spring ,循序渐进由浅入深掌握 Spring 的核心与底层,助你成为 Spring 大佬。

课程目录

*   开篇:这一次,让我们从小白开始

*   开始前的约定:关于本小册的一些前置说明

*   入门-IOC是怎么来的

*   入门-SpringFramework概述与IOC的依赖查找

*   入门-IOC依赖查找&依赖注入

*   IOC基础-依赖查找高级&BeanFactory与ApplicationContext

*   IOC基础-注解驱动IOC与组件扫描

*   IOC基础-依赖注入-属性注入&SpEL表达式

*   IOC基础-依赖注入-自动注入&复杂类型注入

*   IOC进阶-依赖注入-回调注入&延迟注入

*   IOC基础-Bean常见的几种类型与Bean的作用域

*   IOC基础-Bean的实例化方式

*   IOC基础-Bean的生命周期-初始化与销毁

*   IOC进阶-IOC容器的详细对比-BeanFactory

*   IOC进阶-IOC容器的详细对比-ApplicationContext

*   IOC进阶-事件机制&监听器

*   IOC进阶-模块装配

*   IOC进阶-条件装配

*   IOC进阶-组件扫描高级

*   IOC进阶-资源管理

*   IOC进阶-PropertySource的使用

*   IOC高级-配置源&配置元信息

*   IOC高级-Environment抽象

*   IOC高级-Bean与BeanDefinition

*   IOC高级-BeanDefinition与BeanDefinitionRegistry

*   IOC高级-后置处理器入门与使用

*   IOC高级-BeanPostProcessor的扩展及作用时机

*   IOC高级-BeanFactoryPostProcessor的使用

*   IOC高级-Java编程式驱动IOC

*   IOC高级-模块装配&条件装配综合使用

*   IOC高级-事件&监听器高级

*   IOC原理-Bean完整的生命周期概述

*   IOC原理-Bean的生命周期-BeanDefinition阶段

*   IOC原理-Bean的生命周期-Bean的实例化阶段

*   IOC原理-Bean的生命周期-Bean的初始化阶段

*   IOC原理-Bean的生命周期-Bean的销毁阶段

*   IOC原理-IOC容器的生命周期概述

*   IOC总结&面试题整理

*   入门-AOP是怎么来的

*   AOP基础-原生动态代理与Cglib动态代理回顾

*   AOP基础-AOP概述与术语

*   AOP基础-基于xml的aspect实现AOP

*   AOP基础-基于AspectJ实现AOP

*   AOP进阶-AOP的延伸知识和进阶使用

*   AOP进阶-实战:AOP实现事务控制

*   AOP高级-AOP的其他扩展知识

*   AOP高级-如果我们自己实现一个AOP

*   AOP原理-AOP代理的底层核心后置处理器

*   AOP原理-AOP是如何收集切面类并封装的

*   AOP原理-Bean是如何被AOP代理的

*   AOP原理-代理对象的底层执行逻辑

*   AOP总结&面试题整理

*   入门-Spring整合jdbc与JdbcTemplate快速使用

*   Dao编程基础-JdbcTemplate在Dao层的使用方式

*   Dao编程基础-事务回顾&原生jdbc事务

*   Dao编程基础-编程式事务

*   Dao编程基础-声明式事务

*   Dao编程基础-事务传播行为

*   Dao编程进阶-JdbcTemplate的扩展与高级使用

*   Dao编程进阶-Spring中的事务控制模型

*   Dao编程高级-事务监听器

*   Dao编程高级-Spring中的分布式事务控制

*   Dao编程原理-Spring事务的生效原理

*   Dao编程原理-声明式事务的控制原理

*   Dao编程原理-声明式事务的事务传播行为原理

*   Dao编程总结&面试题整理

*   入门-Spring整合web与三层架构回顾

*   WebMvc基础-SpringWebMvc概述与简单实例

*   WebMvc基础-WebMvc与Dao整合的两种方式

*   WebMvc基础-页面数据传递与请求参数绑定

*   WebMvc基础-RESTful与mvc中的常用注解

*   WebMvc基础-json支持与静态资源配置

*   WebMvc基础-复杂参数绑定与数据校验

*   WebMvc基础-数据回显与文件上传下载

*   WebMvc基础-异常处理与拦截器

*   WebMvc进阶-mvc中的更多注解解析

*   WebMvc进阶-WebMvc的架构设计与组件功能解析

*   WebMvc高级-Servlet与WebMvc的异步请求

*   WebMvc原理-DispatcherServlet的初始化原理

*   WebMvc原理-DispatcherServlet的核心工作原理

*   WebMvc总结&面试题整理

*   整合篇-Spring整合JUnit、SpringData

*   整合篇-Spring整合MyBatis

*   展望篇-Spring与SpringBoot

*   尾声:未来的路还很远

*   小册修订大项记录

*   加餐1-单实例Bean的管理工厂SingletonBeanRegistry