一:基本流程
把一个bean纳入到Spring IoC容器之中,这个bean的生命周期就会交由容器进行管理
1.Bean的建立
由BeanFactory读取Bean定义文件,并生成各个实例。
2.Setter注入
执行Bean的属性依赖注入。
3.BeanNameAware的setBeanName()
如果Bean类实现了org.springfra...
分类:
编程语言 时间:
2015-08-27 18:37:17
阅读次数:
131
Ioc 反转控制 反转资源获取的方向 分离接口与实现 采用工厂模式 采用反转控制 Di 依赖注入 依赖容器把资源注入 配置bean 通过全类名(反射) 配置形式:基于xml方式 Ioc容器的beanFactory&ApplicationContext 依赖注入的方式:属性注入,构造器注入 Bean必...
分类:
编程语言 时间:
2015-08-26 22:18:25
阅读次数:
203
首先,先看我自己画的BeanFactory启动时的时序图。
第一次接触时序图,可能有些地方画的不是很符合时序图的规则,大家只关注调用顺序即可。
public static void main(String[] args){
BeanFactory factory=new XmlBeanFactory(new ClassPathResource("applicationC...
分类:
编程语言 时间:
2015-08-25 23:55:11
阅读次数:
317
本文是王福强所著>一书的读书笔记
我们前面就说过,Spring的IoC容器时一个IoC Service Provider,而且IoC Service Provider提供两个功能对象的创建,依赖关系的管理。
不过,IoC容器这个词中,我们还得关注容器二字。它还包含了一些别的功能,如下图
Spring提供了两种类型的容器,分别是BeanFactory与ApplicationCo...
分类:
编程语言 时间:
2015-08-21 17:14:47
阅读次数:
209
第二章 IOC1、通过BeanFactory启动IOC容器的时候,并不会初始化配置文件中的Bean,初始化动作发生在第一个调用的时候。对于单例的Bean来说,BeanFactory会缓存该实例,第二次调用的时候直接从缓存中获取该bean。2、ContextApplication在初始化应用上下文的时...
分类:
编程语言 时间:
2015-08-21 13:18:47
阅读次数:
141
Spring容器内部工作机制Spring的AbstractApplicationContext是ApplicationContext抽象实现类,该抽象类的refresh()方法定义了Spring容器在加载配置文件后的各项处理过程。refresh()内部定义的执行逻辑//初始化BeanFactory:...
分类:
编程语言 时间:
2015-08-12 14:35:06
阅读次数:
114
假设BeanFactory为了产生、管理Bean, 一个Bean从成立到毁灭。它会经过几个阶段运行。 据我所知,一般bean包括在生命周期:设定,初始化,使用阶段,四个核心阶段销毁。1、@Bean的建立 由BeanFactory读取Bean定义文件,并生成各个Bean实例。2、初始化...
分类:
编程语言 时间:
2015-08-11 14:09:47
阅读次数:
140
Spring核心组件之ContextContext的相关类结构图ApplicationContext是context的顶层接口,这个接口继承了ListableBeanFactory,这说明了context中运行的主体对象是bean,同时,继承了ResourcePatternResolver,使得ApplicationContext可以访问到外部资源。ApplicationContext的子类主要包括...
分类:
编程语言 时间:
2015-08-10 22:12:24
阅读次数:
135
BeanFactory类关系继承图1. BeanFactory类结构体系:BeanFactory接口及其子类定义了Spring IoC容器体系结构,由于BeanFactory体系非常的庞大和复杂,因此要理解Spring IoC,需要先理清BeanFactory的继承机构。2. Application...
分类:
移动开发 时间:
2015-08-09 14:04:14
阅读次数:
215
其实说到Spring的核心,无非指的就是Ioc容器和AOP。
Spring降低了应用的负载和框架的侵入性,依靠的解决方案正是Ioc和AOP的支持。
学习Spring的Ioc和Aop的设计模式可以帮助我们在自己编写代码的时候如何优雅的设计和实现。
这里就只记录一下自己对Ioc容器设计和实现的走读和思考。
在查看Spring Ioc容器的设计文档和源代码后,发现其实只有2类主要的容器:
...
分类:
编程语言 时间:
2015-08-09 10:49:11
阅读次数:
133