Spring IoC之循环依赖处理

Spring IoC之循环依赖处理

什么是循环依赖循环依赖其实是循环引用,也就是两个或则两个以上的 bean 互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图所示:注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其...
Spring bean之间的关系

Spring bean之间的关系

概述在学习 bean 的加载过程时不了解 bean 循环依赖的概念,因此在查阅相关资料时发现 bean 之间除了依赖关系还有其他一些关系。因此本章就对 bean 之间的关系进行整理,bean 之间的关系可以通过对 bean元素标签的设置起作...
Spring IoC之AbstractBeanFactory

Spring IoC之AbstractBeanFactory

AbstractBeanFactory 实现了依赖关系处理,它 继承了 DefaultSingletonBeanRegistry 类,并进一步丰富了已有的功能,这个类提供了 singleton/prototype 的选择,单例 cache,对于 FactoryBean 的处理,bean 定义的处理以及 b...
Spring IoC之ApplicationContext中refresh过程

Spring IoC之ApplicationContext中refresh过程

refresh()该方法是 Spring Bean 加载的核心,它是 ClassPathXmlApplicationContext 的父类 AbstractApplicationContext 的一个方法 , 顾名思义,用于刷新整个Spring 上下文信息,定义了整个 Spring 上下文加载的流程。pub...
Spring IoC之ClassPathXmlApplicationContext

Spring IoC之ClassPathXmlApplicationContext

概述前面我们讲了 Spring 资源的定义和资源的加载情况,还剩下 BeanFactory、BeanDefinition、BeanDefinitionReader 和 ApplicationContext 需要学习,通常情况下,这些内容关联性比较紧密,所以我们从实际应用场景中对 bea...
Spring之BeanFactoryPostProcessor和BeanPostProcessor

Spring之BeanFactoryPostProcessor和BeanPostProcessor

概述BeanFactoryPostProcessor 和 BeanPostProcessor 这两个接口,都是 Spring 初始化 bean 时对外暴露的扩展点,一般叫做 Spring 的 Bean 后置处理器接口,作用是为 Bean 的初始化前后 提供可扩展的空间。两个接口名称看起...
Spring IoC资源管理之ResourceLoader

Spring IoC资源管理之ResourceLoader

概述在上一章节Spring IoC资源管理之Resource提到 Spring 将资源的定义和资源的加载区分开了,Resource 定义了统一的资源,那资源的加载则由 ResourceLoader 来统一定义。ResourceLoaderorg.springframework.core.io.Resou...
Spring IoC资源管理之Resource

Spring IoC资源管理之Resource

概述在学 Java SE 的时候我们学习了一个标准类 java.net.URL,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位。然而,实际上资源的...
Spring之IoC理论学习

Spring之IoC理论学习

概述上一篇Spring之概念学习我们搭建完基于 Spring 框架的环境, 这篇我们开始真正的阅读 Spring 的源码,分析 Spring 的源码之前我们先来简单回顾下 Spring 核心功能的简单使用。为什么需要 IoC假如有这么一个业务场景:da...
Spring之概念学习

Spring之概念学习

Spring概述简介Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。2002 年,Rod Jahnson 首次推出了 Spring 框架雏形 interface21 框架。2004...