概念:
IOC(Inversion of Control)控制反转,本来是有应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IOC容器主要使用DI方式实现的,不需要主动产找,对象的查找、定位和创建全部由容器管理。
理解:
通俗一点讲就是“不创建对象”。以前我们要调用一个对象的方法,首先要new一个对象,但是用IO...
分类:
编程语言 时间:
2015-07-28 16:03:59
阅读次数:
119
Spring IOC源码详解之容器依赖注入
上一篇博客中介绍了IOC容器的初始化,通过源码分析大致了解了IOC容器初始化的一些知识,先简单回顾下上篇的内容
载入bean定义文件的过程,这个过程是通过BeanDefinitionReader来完成的,其中通过 loadBeanDefinition()来对定义文件进行解析和根据Spring定义的bean规则进行处理 - 事实...
分类:
编程语言 时间:
2015-07-27 09:28:15
阅读次数:
282
Spring IOC源码详解之容器初始化
上篇介绍了Spring IOC的大致体系类图,先来看一段简短的代码,使用IOC比较典型的代码
ClassPathResource res = new ClassPathResource("beans.xml");
DefaultListableBeanFactory factory = new DefaultListabl...
分类:
编程语言 时间:
2015-07-26 09:49:34
阅读次数:
191
Spring ICO详解之总体结构
IOC介绍
IOC, spring的核心,贯穿Spring始终。直观的来说,就是由spring来负责控制对象的生命周期和对象间的关系,将对象之间的关系抽象出来,通过spring容器控制对象生成时机,减少对象之间的耦合度。
开启Spring IOC源码学习
SpringIOC 的主要依...
分类:
编程语言 时间:
2015-07-24 18:30:01
阅读次数:
132
Bean的作用范围有几种:
singleton 在每个Spring Ioc容器中一个Bean定义只有一个对象实例。默认情况下会在容器启动时初始化Bean,但我们可以指定Bean节点
的lazy-init="true"来延迟初始化Bean,这样只有第一次获取Bean才会初始化Bean。如:
如果想对所有Bean都应用延迟初始化,可以在根节点beans设置default-lazy-...
分类:
编程语言 时间:
2015-07-23 12:06:29
阅读次数:
156
Bean的自动装配Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 的 autowire 属性里指定自动装配的模式
有以下几种自动装配的类型:
byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring
将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配.
byName(根据名称自动装配):...
分类:
编程语言 时间:
2015-07-22 18:46:57
阅读次数:
250
IOC容器创建bean实例有3类方法: 1 通过bean对应实例的全类名 2 通过工厂方法,包括静态工厂和实例工厂 3 实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean 今天我们介绍这第三种方法——FactoryBean? Spri...
分类:
编程语言 时间:
2015-07-21 17:28:26
阅读次数:
261
bean的定义在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象
IOC容器的定义org.springframework.beans.factory.BeanFactory 是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bea...
分类:
编程语言 时间:
2015-07-19 10:12:32
阅读次数:
167
Spring框架是目前各大Java开发者追捧的框架之一,相信对于大家来说并不陌生,Spring之所以这么流行,少不了他的两大核心技术IOC和IOP。我们这里重点讲述Spring框架的IOC技术。在我们平 常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的...
分类:
编程语言 时间:
2015-07-18 18:32:15
阅读次数:
190
控制反转(IOC)IOC(inversion of control)是spring的核心,就是有spring来控制对象的周期和对象间的关系。
传统开发模式:对象间相互依赖,比如A对象中引入B对象,要使用new B();
IOC开发模式:将对象之间的依赖关系交给IOC容器来做。
先看下图,我们来了解应该如何来完成一套好的架构
这张图是多个此轮之间相互协作,来完成一项任务。
图一,我们可以看出齿轮与齿...
分类:
编程语言 时间:
2015-07-15 19:21:25
阅读次数:
207