### 准备 ## 目标 了解 Spring IOC 的基础流程 ## 相关资源 Offical Doc:http://docs.spring.io/spring/docs/4.3.9.RELEASE/spring-framework-reference/htmlsingle/ Sample code:<https://github.com/gordonklg/study>,spring module 源码版本:Spring framework 4.3.9 ##测试代码 gordon.stud…
### 准备 ## 目标 了解 Spring 如何处理循环引用 ##测试代码 gordon.study.spring.ioc.IOC03_CircularReference.java   ioc03.xml <beans ...>     <bean id="chairman" class="gordon.study.spring.common.Employee">         <property name="name&q…
### 准备 ## 目标 了解 bean reference 装配的流程 ##测试代码 gordon.study.spring.ioc.IOC02_BeanReference.java   ioc02.xml <beans ...>     <bean id="chairman" class="gordon.study.spring.common.Employee">         <property name="name&…
  ### 准备 ## 目标 了解 Spring 如何初始化 bean 实例 ##测试代码 gordon.study.spring.ioc.IOC04_Initialization.java public class IOC04_Initialization {       public static void main(String[] args) {         Resource resource = new ClassPathResource("ioc/ioc04.xml")…
Spring Ioc源码分析系列--Ioc容器BeanFactoryPostProcessor后置处理器分析 前言 上一篇文章Spring Ioc源码分析系列--Ioc源码入口分析已经介绍到Ioc容器的入口refresh()方法,并且分析了refresh()方法里面的前三个子方法分析了一下.还记得分析了什么麽?估计早忘了分析了什么,可以说是看了个寂寞.但是不要慌,看了忘肯定是正常的,需要回顾复习一下,最好做点笔记记录一下,有自己的沉淀才会印象深刻.最好跟着代码自己调试几遍,纸上得来终觉浅,绝知此…
Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器.既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题. 阅读建议:读者至少需要知道怎么配置 Spring,了解 Spring 中的各种概念,少部分内容我还假设读者使用过 SpringMVC.本文要说的 IOC 总体来…
引自 spring IoC源码分析 (3)Resource解析 定义好了Resource之后,看到XmlFactoryBean的构造函数 public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); } 跟到XmlBeanDefin…
Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Container,翻译过来也就是Ioc容器.为什么会被叫做容器呢?我们来比对一下日常生活中的容器,也就是那些瓶瓶罐罐.假设我们有个大米缸,里面提前放好了米,等我们需要米的时候,我们就可以到大米缸里面取.那么Ioc也是一样的道理,里面有一个容器singletonObjects(提前透露这里容器的类型是Concurr…
Spring Ioc源码分析系列--前言 为什么要写这个系列文章 首先这是我个人很久之前的一个计划,拖了很久没有实施,现在算是填坑了.其次,作为一个Java开发者,Spring是绕不开的课题.在Spring之中Ioc是一把利器,这是依赖控制反转的关键实现.所以理解Ioc的概念对于初步窥探Spring的实现是非常好的入口,那接下来的文章我们就来分析Ioc的设计思想和具体实现,这篇文章主要是作为一个前言入口用于介绍脉络,不涉及太多的原理分析. 怎么学习Spring Spring庞大而复杂的结构对于刚…
Spring Ioc源码分析系列--Ioc源码入口分析 本系列文章代码基于Spring Framework 5.2.x 前言 上一篇文章Spring Ioc源码分析系列--Ioc的基础知识准备介绍了Ioc的基础概念以及Spring Ioc体系的部分基础知识.那么这一篇就会真正通过一个例子,启动Ioc容器,获取容器里的bean. 首先说明,本文的例子是基于xml配置文件去完成的. 为什么是xml?因为xml是Spring的灵魂,可能我们初学Spring都会有畏难情绪,看到繁杂的xml就会打退堂鼓.…