
spring源码
文章平均质量分 74
掀衣怒码
1127
展开
-
spring源码解读-第二部分面想切面编程
aop原创 2021-04-15 22:38:54 · 119 阅读 · 0 评论 -
Spring源码解读-第一部分核心部分
第一部分讲解bean加载到ioc容器的整个过程。原创 2021-04-11 11:33:40 · 171 阅读 · 0 评论 -
spring源码解读-6.bean生命周期
我们知道bean在spring中有两个大的状态。实例化,初始化;那么在bean成长过程中我们是不是可以进行干预,或者进行观察呢?自己生的孩子不可能都不管不问吧。所以在bean成长的各个环节中我们都有办法去干预,或者收到通知。spring通过暴露几个接口的方式来赋予你这个能力;今天的主角是BeanPostProcessor;看下长什么样子先public interface BeanPostProcessor { Object postProcessBeforeInitialization(Object原创 2021-04-10 23:50:44 · 111 阅读 · 0 评论 -
spring源码解读-5.容器生命周期之修改图纸
spring启动容器的时候允许在加载完成BeanDefinition(我称之为bean的图纸)对bean定义元数据信息进行修改;是通过一个叫做BeanFactoryPostProcessor的接口来实现的;代码位置在refresh() 里面调用invokeBeanFactoryPostProcessors()的方法中;代码逻辑不复杂,自己研究吧。因为使用场景很少,所以不多讲什么了。自己看看吧 public static void invokeBeanFactoryPostProcessors(原创 2021-04-07 21:52:50 · 132 阅读 · 0 评论 -
spring源码解读-4.把创建的bean丢到容器中
这里呢,说丢到容器中,其实单例bean更有探讨价值;现在主要就来看看单例bean是如何维护在容器中的;大家应该都听过三级缓存。循环依赖这些概念。这里呢就来揭开三级缓存的面纱。以及看看spring中如何解决循环依赖的;...原创 2021-04-06 23:02:04 · 315 阅读 · 1 评论 -
spring源码解读-3.初始化维护依赖关系
上一节我们知道spring创建bean实例的源码所在了。那么现在来看看它是如何对bean进行初始化,维护它的依赖的;这里还得回去去看那个doCreateBean的代码;原创 2021-04-05 21:35:51 · 225 阅读 · 1 评论 -
spring源码解读-2.根据图纸创建bean实例
首先,找到容器刷新方法refresh();上一篇知道在执行完obtainFreshBeanFactory方法之后我们的bean定义信息已经加载出来,存在了DefaultListableBeanFactory(它是同时也是一个BeanDefinitionRegistry)的默认实现中;ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();今天继续开始引路,看看spring的bean是如何创建的;spring容器会原创 2021-04-04 20:53:04 · 246 阅读 · 0 评论 -
spring源码解读开篇-1.bean图纸加载
好多看源码的小伙伴,像是在玩一个没有主线指引的游戏,在诺大的地图上到处碰壁,时不时钻进死胡同,一次次消磨掉了耐心,失去了再玩下去的勇气;这次呢,我来做你的引导npc;我来说说我的看法其实坚持不下去,真的不怪你。首先:spring已经发展很多年了,你不是从第一行代码看起。其次:先有了设计思想,才有代码实现。而反过来从代码去找思想,就是反人类的做法再者:代码量繁多,你不需要看完所有的代码。只需要看懂关键部分,看懂关键部分之后,其余的细枝末节需要用的时候再去看(借助文档等等工具),你会很轻松的看懂他们原创 2021-04-04 14:52:02 · 224 阅读 · 0 评论 -
Spring三级缓存解决循环依赖必要性研讨
由于spring三级缓存处理逻辑的直接读源码比较难理解,所以一气之下按照方法压栈顺序整理了一张图供大家参考;图中各个环节标注了序号,我会按照序号来给你标注出代码位置;可以看到整个过程中bean在三级缓存中的状态;注: 虚线的框表示入栈后立马出栈,但是为了对称性,画在对称的位置关于三级缓存必要性的讨论图中可以看到第2步那里是往第三级缓存放入了一个包含对A早期引用进行操作的工厂函数。在第10步的时候才取出来这个函数进行调用。那么如果我直接在第2步就执行这个函数的逻辑,然后把A直接放到2级缓存,废除掉第3原创 2021-04-02 11:36:40 · 335 阅读 · 0 评论