
马士兵 - Spring源码精讲
来自 网络整理·免费领取学习资源
这份资料来自网络整理2026年的付费VIP课,内容以视频为主,对应《马士兵 - Spring源码精讲》。官网需要单独购买,有集上可以免费领取。
资源介绍:
此课程主要面向初中高级的开发工程师,对各种框架及架构知识有所了解,渴望突破技术极限,了解技术底层的同学,此课程主要对应java开发相关的技术架构,需要同学们详细了解其底层实现机制,要做到知其然,还要知其所以然,所以此课程有一定难度,但是在面试中一定是一个非常好的加分项,助力同学们进入大厂,提高薪水。课程会以开源源码为基础,搭配注释、图解等各种方式,来讲解实现的原理,并提供一系列扩展点帮助同学们做二次开发,真正的帮助同学们深入底层,理解各种实现机制
课程目录
- 1-源码分析–spring源码开班典礼–学习源码的方法论
- 1-课程介绍
- 2-源码学习思路(注意事项)
- 3-源码学习思路(适合人群)
- 4-源码学习思路(时间)
- 5-源码学习思路(课程安排)
- 6-问题解答
- 7-idea导入spring源码
- 10-源码分析-spring的ConfigurationClassPostProcessor的讲解
- 1-ConfigurationClassPostProcessor解析1
- 2-内部类
- 3-ConfigurationClassPostProcessor解析2
- 4-MyComponentScan
- 5-ConfigurationClassPostProcessor解析3
- 11-spring源码-注册BeanPostProcesser
- 1-上节回顾
- 2-imports如何解析1
- 3-imports如何解2
- 4-imports如何解3
- 5-imports如何解析4
- 6-registerBeanPostProcessors1
- 7-registerBeanPostProcessors2
- 8-registerBeanPostProcessors3
- 9-registerBeanPostProcessors4
- 12-spring的消息资源和监听器的初始化
- 1-回顾及initMessageSource
- 2-观察者模式
- 3-观察者模式代码演示
- 4-事件驱动
- 5-事件驱动代码演示1
- 6-事件驱动代码演示2
- 7-事件驱动代码演示3
- 8-总结及问题解答
- 13-spring的bean创建流程一
- 1-finishBeanFactoryInitialization类(1)
- 2-finishBeanFactoryInitialization类(2)
- 3-prelnstantiateSingletons类
- 4-finishBeanFactoryInitialization类
- 5-缓存会不会引起缓存的泄露和getMer
- 6-BeanFactory和FactoryBean(1)
- 7-BeanFactory和FactoryBean(2)
- 8-总结
- 14-spring的bean创建流程二
- 1-finishBeanFactoryInitialization
- 2-invokeBeanFactoryPostProcessors
- 3-getDependsOn和创建bean的实例对象(1)
- 4-getDependsOn和创建bean的实例对象(2)
- 5-创建bean的实例对象(1)
- 6-创建bean的实例对象(2)
- 7-创建bean的实例对象(3)
- 15-spring的bean创建流程三
- 1-doGetBean方法
- 2-实例化实现方法
- 3-如何创建的对象(1)
- 4-如何创建的对象(2)
- 5-实例化
- 6-创建实例包过程(1)
- 7-创建实例包过程(2)
- 16-spring的bean创建流程四
- 1-通过反射创建对象
- 2-创建新的案例
- 3-通过反射创建对象的过程
- 4-创建构造器实例
- 5-讲解构造器的过程
- 6-构造器实例化和工厂实例化有什么区别
- 7-BeanPostProcessor
- 8-反射实例化
- 17-spring的bean创建流程五
- 1-BeanPostProcessor
- 2-checkConfigMembers
- 3-buildResourceMetadata
- 4-AutowiredAnnotationBeanPostProcessor
- 5-初始化和循环依赖(1)
- 6-初始化和循环依赖(2)
- 7-答疑
- 18-spring的bean创建流程六
- 1-spring的bean创建流程图和知识点
- 2-spring的bean创建流程六填充属性
- 3-spring的bean创建流程六populatebean属性方法
- 4-propertyvalues的使用
- 5-by-type
- 6-propertydesciptor数组
- 7-创建bean对象的核心方法
- 19-spring的bean创建流程七
- 1-spring的bean创建流程applypropertyvalues方法讲解
- 2-遍历属性
- 3-创建对象的流程
- 4-populatebean属性功能
- 5-initializebean方法的功能
- 6-beanfactory功能
- 2-源码分析–spring概述
- 1-spring是什么
- 10-观察者模式
- 11-接口
- 12-接口对应的方法
- 2-spring的使用
- 3-ioc如何处理
- 4-ioc如何处理2
- 5-实例化
- 6-Aware
- 7-BeanPostProecessor
- 8-Aware接口的作用
- 9-springbean
- 20-spring的bean创建流程总结及循环依赖问题
- 1-bean对象放到容器里面
- 2-bean生命周期讲解
- 3-循环依赖问题
- 4-如何改变源码中的三级缓存
- 21-springAOP的BeanDefinition的准备工作
- 1-AOP
- 10-总结
- 2-我们怎么做
- 3-使用方式
- 4-子接口BeanProcessor类
- 5-beanDefinition的解析工作
- 6-pointcut,advisor
- 7-aspect
- 8-ConfigBeanDefinitionParser类
- 9-AbstractApplicationContext
- 22-springAOP的核心对象的创建
- 1-AbstractApplicationContext类
- 10-BeanDefinitionValueResolver类的resolvelnnerBean方法
- 11-BeanFactoryAdvisorRetrievalHelper类中findAdvisorBeans方法
- 12-问答
- 13-答疑
- 2-preInstantiateSingletons方法
- 3-postProcessBeforeInstantiation方法
- 4-AspectJAwareAdvisorAutoProxyCreator类shouldSkip方法
- 5-BeanFactoryAdvisorRetrievalHelper类
- 6-创建对象
- 7-创建AspectJPointcutAdvisor对象
- 8-ConstructorResolver类中的autowireConstructor方法
- 9-AbstractAutowireCapableBeanFatory类中createBean方法
- 23-springAOP的核心对象的创建2
- 1-prelnstantiateSingletons方法
- 2-postProcessBeforeInstantiation方法
- 3-wrapIfNecessary方法
- 4-AopUtils类中canApply方法
- 5-findEligibleAdvisors方法
- 6-核心处理流程
- 24-jdk和cglib动态代码实现原理
- 1-jdk动态代理
- 10-调用目标方法
- 11-回顾流程
- 2-CalculatorProxy类中的getProxy方法
- 3-ReflectUtilclass文件
- 4-Proxy类
- 5-cglib动态代理
- 6-Enhancer类
- 7-AbstractClassGenerator类
- 8-keyFactory类中的generateClass方法
- 9-创建myCalculator
- 25-aop动态代理的创建过程
- 1-AbstractAutoProxyCreator类的createProxy方法
- 10-创建责任链
- 11-cglibAopProxy类中的intercept方法
- 12-总结责任链
- 13-superproceed是调什么类方法
- 2-DefaultAopProxyFactory类中的createAopProxy方法
- 3-AbstractClassGenerator类中的create方法
- 4-CglibAopProxy类
- 5-ObjenesisCglibAopProxy类中的createProxyClassAndInstance方法
- 6-AbstractClassGenerator类中的create方法
- 7-AbstractClassGenerator类中generate方法
- 8-Enhancern类中extlnstance方法
- 9-add
- 26-aop拦截器链的执行
- 1-getInterceptorsAndDynamicInterceptionAdvice
- 2-AspectJMethodBeforeAdvice和AspectJAfterAdvice
- 3-CglibMethodInvocation类讲解
- 4-exposelnvocationlnterceptor
- 5-注解实例(1)
- 6-注解实例(2)
- 7-xml是以下标作为排序值的追的时候看结果
- 27-spring事务配置文件的加载和对象创建
- 1-tx点xml配置项
- 10-创建对象(2)
- 2-configureAutoProxyCreator
- 3-pointcut
- 4-advisor
- 5-Methodlnterceptor
- 6-加载对象(1)
- 7-加载对象(2)
- 8-加载对象(3)
- 9-创建对象(1)
- 28-spring注解配置的声明式事务处理
- 1-上下文对象
- 10-自己设计一个事务系统如何设置(2)
- 2-注册和refresh(1)
- 3-注册和refresh(2)
- 4-获取@bean对象时都从这个代理中获取从而转到beanfactory中获取保证对象的单例
- 5-inbokeBeanFactoryPostProcessors解析过程
- 6-答疑
- 7-对象创建好后拦截器是如何拦截的
- 8-事务处理
- 9-自己设计一个事务系统如何设置(1)
- 29-spring声明式事务的运行流程
- 1-CglibAopProxy类的讲解
- 2-事务的处理过程(1)
- 3-事务的处理过程(2)
- 4-事务的处理过程(3)
- 5-事务的处理过程(1)
- 6-事务的处理过程(2)
- 7-事务的处理过程(3)
- 3-源码分析–debugspring流程概述
- 1-AbstractAppliactionnContext源码讲解
- 2-做容器刷新前的准备工作
- 3-bean工厂增强器源码
- 4-一会讲的引入
- 5-回答问题
- 6-实例化前期工作
- 7-实例化
- 8-回答问题和学习要求
- 30-spring传播特性的讲解
- 1-事务处理
- 2-事务传播特性(1)
- 3-事务传播特性(2)
- 4-事务传播特性(3)
- 5-事务传播特性(1)
- 6-事务传播特性(2)
- 7-事务传播特性(3)
- 31-spring全体系总结1
- 1-创建Spring应用程序上下文调用构造方法
- 10-答疑1
- 11-答疑2
- 12-prepareBeanFactory给容器对象完成属性的赋值操作
- 13-postProcessBeanFactory默认没有实现留给子类进行实现操作和invokeBeanFactoryPostProcessor执行BFPP接口中的方法
- 14-总结
- 2-prepareRefresh方法前戏做容器刷新前的准备工作
- 3-obtainFreshBeanFactory方法创建容器并且完成配置文件的加载
- 4-spring配置加载文件
- 5-BeanFactory
- 6-spring配置加载文件
- 7-BeanFatory
- 8-prepareBeanFactory给容器对象完成属性的赋值操作
- 9-案例讲解
- 32-spring全体系总结2
- 1-configurationClassPostProcessor(1)
- 10-从缓存中判断是否有具体的对象(1)
- 11-从缓存中判断是否有具体的对象(2)
- 12-从缓存中判断是否有具体的对象(3)
- 2-configurationClassPostProcessor(2)
- 3-configurationClassPostProcessor(3)
- 4-注册BeanPostProcessorregisterBeanPostProcessor(beaanFactory)和registerBeanPostProcessor(beaanFactory)(1)
- 5-注册BeanPostProcessorregisterBeanPostProcessor(beaanFactory)和registerBeanPostProcessor(beaanFactory)(2)
- 6-注册BeanPostProcessorregisterBeanPostProcessor(beaanFactory)和registerBeanPostProcessor(beaanFactory)(3)
- 7-32-7initMessageSource和initApplicationEventMulticaster方法
- 8-onRefresh方法和registerListeners方法和finishBeanFactorylnitialization(beanFactory)完成所有非赖加载的单例对象的实例化操作和finishRefresh方法完成刷新和resetCommonCache方法清空运
- 9-进行对象的创建
- 33-spring全体系总结3
- 1-createBean(1)
- 2-createBean(2)
- 3-createBean(3)
- 4-populateBean执行流程图(1)
- 5-populateBean执行流程图(2)
- 6-populateBean执行流程图(3)
- 7-initializeBean完成当前bean的初始化操作
- 8-对象不是单例模式
- 34-spring全体系总结4
- 1-wraplfNecessar调用过程(1)
- 10-总结
- 2-wraplfNecessar调用过程(2)
- 3-wraplfNecessar调用过程(3)
- 4-wraplfNecessar调用过程(4)
- 5-wraplfNecessar调用过程(5)
- 6-事务的创建提交与回滚(1)
- 7-事务的创建提交与回滚(2)
- 8-事务的创建提交与回滚(3)
- 9-spring中使用的设计模式
- 4-源码分析–spring启动流程细节
- 1-spring的具体细节工作
- 2-属性值设置
- 3-InitPropertySources讲解
- 4-getEnvionment讲解
- 5-prepareRefresh讲解
- 6-Bean工厂讲解
- 7-loadBeanDeifinitions讲解
- 5-源码分析–spring配置文件加载过程
- 1-DefaultListableBeanFactory讲解
- 2-loadBeanDeifinitions讲解
- 3-创建对象封装到BeanDefinitions
- 4-对bean元素详细解析
- 6-源码分析-spring自定义标签解析过程
- 1-回顾
- 2-parsecustomElement解析
- 3-元素解析器
- 4-自定义标签完成解析工作
- 5-运行测试
- 7-源码分析-spring的bean工厂准备工作
- 1-回顾上节课
- 2-prepareBeanFactory
- 3-如何扩展实现自定义属性编辑器
- 4-BeanFactoryPostProcessor
- 5-其他配置方式
- 6-addBeanPostProcessor
- 7-ignreDependencyInterface
- 8-源码分析-spring的beanFactoryPostProcessor的执行
- 1-注解的原理
- 2-回顾上节课内容
- 3-invokeBeanFactoryPostProcessor
- 4-invokeBeanFactoryPostProcessor执行流程
- 5-排序
- 6-优先排序及回答问题
- 7-为什么再处理
- 9-源码分析-spring的BeanFactoryPostProcessor的执行2
- 1-BeanFactoryPostProcessor再次讲解
- 2-postProcessBeanDefinitionResistry处理逻辑
- 3-postProcessBeanFactory
- 4-BeanDefiniton1
- 5-BeanDefiniton2
包含内容
- · 1-源码分析–spring源码开班典礼–学习源码的方法论
- · 1-课程介绍
- · 2-源码学习思路(注意事项)
- · 3-源码学习思路(适合人群)
- · 4-源码学习思路(时间)
- · 5-源码学习思路(课程安排)
- · 6-问题解答
- · 7-idea导入spring源码
贡献者
学习社区
1 人正在学习
编程与技术实践交流
交流编程基础、项目实践、数据库和部署问题。提问请说明环境、复现步骤与已尝试的方法。