原价199元,现在参加拼团活动立享优惠价仅 99 元,赶快一起参团吧!
=== 课程简介 ===
想必大家都有面试过程中,被问到Spring框架的经历。绝大部分java开发工程师都用过Spring,在面试中被问到也都能说上一嘴,但能把Spring原理讲清楚的,却少之又少。
为了解决这个问题,儒猿技术窝特别推出了这个Spring源码图文专栏《手把手带你吃透Spring框架核心源码》,整个专栏用大白话讲解Spring框架源码,佐以全链路源码流程图,助你打通阅读Spring源码的任督二脉,轻松了解Spring框架的源码设计思想,在面试的时候过五关斩六将。
=== 课程亮点 ===
来看一看Spring源码专栏讲了什么吧!本专栏主要由以下四个板块组成,内容十分硬核:
揭开面纱:从零剖析Spring容器初始化过程,带你玩转Spring容器的高阶特性
渐入佳境:剖析bean加载全流程,带你从上帝视角来看getBean()方法
游刃有余:剖析AOP代理的创建过程,带你搞定AOP代理诞生的整个过程
炉火纯青:剖析AOP代理的执行机制,从此AOP将会在你眼前裸奔
=== 课程目录 ===
第一章:Spring源码构建与BeanDefinition源码剖析
02_Spring源码的准备工作:Spring的简单使用和原理分析03_Spring初级容器初始化:Resource到底是个什么玩意儿?04_Spring初级容器初始化:忽略指定接口自动装配功能06_Spring初级容器初始化:加载XML的Document07_Spring初级容器初始化:XML文件的校验模式08_Spring初级容器初始化:获取声明文件和校验类型09_Spring初级容器初始化:寻找标签解析的入口10_Spring初级容器初始化:bean标签的初步解析11_Spring初级容器初始化:BeanDefinition是什么呢?12_Spring初级容器初始化:bean的各种子标签解析13_Spring初级容器初始化:BeanDefinition是如何注册到Spring容器的呢?第二章:Spring容器ApplicationContext和BeanFactory
14_Spring高级容器初始化:初探容器ApplicationContext初始化15_Spring高级容器初始化:初始化环境和容器BeanFactory16_Spring高级容器初始化:初步添加扩展功能点17_Spring高级容器初始化:BeanFactoryPostProcessor是什么呢?18_Spring高级容器初始化:BeanFactoryPostProcessor是如何执行的呢?19_Spring高级容器初始化:BeanPostProcessor是如何注册的呢?20_Spring高级容器初始化:Spring是如何基于事件驱动的呢?21_Spring高级容器初始化:初始化非延迟加载单例bean第三章:bean加载流程与三级缓存解决循环依赖问题
23_bean的加载:如何通过三级缓存来解决循环依赖(上)24_bean的加载:如何通过三级缓存来解决循环依赖(下)25_bean的加载:如何通过FactoryBean来实例化bean?27_bean的加载:Spring默认是如何实例化bean的?29_bean的加载:为刚刚实例化的bean填充属性(上)30_bean的加载:为刚刚实例化的bean填充属性(下)31_bean的加载:看下bean是如何进行初始化的第四章:Spring依赖注入源码剖析
33_Spring注解源码解析:注解的本质是什么?34_Spring注解源码解析:动手来模拟下@Component注解的功能35_Spring注解源码解析:@Component36_Spring注解源码解析:@Configuration和@Bean(上)37_Spring注解源码解析:@Configuration和@Bean(下)38_Spring注解源码解析:@Autowired39_Spring注解源码解析:@PostConstruct和@PreDestroy第五章:Spring AOP底层源码剖析
40_Spring AOP简介:一个例子告诉你AOP可以解决哪些问题
41_Spring AOP简介:静态代理、jdk动态代理、cglib动态代理傻傻分不清?
42_AOP代理的创建:虚晃一枪,实例化前竟然也能创建AOP代理?
43_AOP代理的创建:真相大白,初始化后完成了AOP代理的创建
44_AOP代理的创建:@Aspect注解的切面类是怎么找到的?
45_AOP代理的创建:构建Advisor的前提,怎么获取切面类中声明的增强方法?
46_AOP代理的创建:增强方法是怎么一步一步构建为Advisor的?
47_AOP代理的创建:来看下目标类与切点表达式的匹配过程
48_AOP代理的创建:aspectj是怎么来完成方法级别精准匹配的?49_AOP代理的创建:负责创建代理的ProxyFactory是什么?50_AOP代理的创建:Spring是如何选择jdk代理和cglib代理的?第六章:Spring AOP中JDK动态代理源码剖析
51_JDK代理的创建:深入底层,来看下jdk代理对象的创建过程52_JDK代理的执行:调用$Proxy代理对象方法就回调到invoke()是啥原理?53_JDK代理的执行:来初步看下invoke()方法的处理流程54_JDK代理的执行:invoke()方法是怎么获取到拦截器链的?55_JDK代理的执行:怎么为目标方法匹配适用的增强?56_JDK代理的执行:来看下Advice的构建过程57_JDK代理的执行:Advice和拦截器之间是什么关系?58_JDK代理的执行:来初步看下拦截器链的执行流程59_JDK代理的执行:拦截器的核心逻辑,递归调用ReflectiveMethodInvocation60_JDK代理的执行:拦截器链的本质,责任链模式第七章:Spring AOP中CGLIB代理源码剖析
61_CGLIB代理的创建:通过Enhancer来创建代理62_CGLIB代理的执行:通过DynamicAdvisedInterceptor来执行增强逻辑63_AOP拓展:AnnotationAwareAspectJAutoProxyCreator是怎么注入进来的?(上)64_AOP拓展:AnnotationAwareAspectJAutoProxyCreator是怎么注入进来的?(下)65_面试题:Spring AOP用到了哪些设计模式?具体体现在哪些地方?
第八章:Spring 事务底层源码剖析
66_Spring事务:先使用AOP来模拟一下@Transactional的功能67_Spring事务:@Transactional注解竟然是基于AOP实现的?68_Spring事务:TransactionInterceptor是怎么来控制事务的?69_Spring事务:来看下TransactionInterceptor增强的匹配过程70_Spring事务:来看下方法级别匹配时,获取事务属性的过程71_Spring事务:来看下@Transactional事务代理创建和执行流程72_Spring事务:遗漏的细节,BeanFactoryTransactionAttributeSourceAdvisor是怎么注册到IOC容器中的?73_面试题:有哪些场景会导致Spring事务失效?为了让更多同学学到赚到,《手把手带你吃透Spring框架核心源码》现在拼团活动价仅需 99元,赶快扫码拼团~