Spring源码解析
小陈生
这个作者很懒,什么都没留下…
展开
-
Spring源码解析四之创建Bean(解决循环依赖)
首先,循环依赖是啥,用白话说,最简单的案例就是A中有B,而B中又有A,这样一个例子并不能说明什么,但是Spring容器创建Bean是有顺序的。假设有A、B两类public class A { B b; public B getB() { return b; } public void setB(B b) { this.b = b; }}public class B { A a; public A g原创 2020-08-24 11:31:43 · 424 阅读 · 0 评论 -
Spring源码解析四之创建Bean(初始化)
上了节我们分析了创建Bean过程中的属性注入过程,这节我们会分析Bean的初始化过程,但是我们在java是创建过程时没有特定的初始化方法,通常我们会在把初始化一些属性放在构造器里面,而Spring为了让满足初始化的需要,用户在配置文件配置init-method 或者实现InitializaingBean接口并且重写afterPropertiesSet方法,Spring就会在初始化阶段调用该方法。doCreateBeanprotected Object doCreateBean(final Stri原创 2020-08-24 10:11:00 · 225 阅读 · 0 评论 -
Spring源码解析三之创建Bean(属性填充)
上一节我们分析完了doCreateBean中的实例化Bean,其中用到的一些细节,比如说处理ConstructorArgument时的细节、后置处理器的调用以及设计模式我们先不关注,要不然这个过程就会看起来很凌乱,那么这一节开始分析属性注入的过程,在这个过程出现的循环依赖的问题、属性访问、类型转换我们将会简略带过。...原创 2020-08-20 11:19:58 · 647 阅读 · 0 评论 -
Spring源码解析二之创建Bean(实例化)
上一节我们分析到了createBean,而真正创建Bean的过程在doCreateBean过程,我们可以发现Spring的编码风格,do才是真正的过程,不带do的通常是在做在准备过程,并且我们跳过了一些地方,比如说后置处理器,后面会有详细的章节来解析后置处理器,但是并不妨碍正常分析创建Bean的这个过程。...原创 2020-08-18 14:37:38 · 902 阅读 · 0 评论 -
Spring源码解析入门
Srping入口BeanFactory bf = new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));首先关注XmlBeanFactory,为什么呢?因为BeanFactory是一个接口,而XmlBeanFactory是该接口的实现类。XmlBeanFactory的类图中必然包括该接口。XmlBeanFactory类图从上往下,从左到右,依次为:AliasRegistry:定义对alias的简单..原创 2020-08-16 15:34:30 · 269 阅读 · 0 评论