Tag Archives | ioc

Spring IOC之Bean的定义和解析

理解spring ?IOC 就是能把对象之间的依赖关系给配出来,像下面最典型的一个配置文件。

定义了一个bean ?dataSource,并把它注入到另外一个bean sessionFactory中。

这里尝试整理下一个死的配置文件如何在spring中变出活的对象,并且是一个个互相有关系的对象。

首先要关注下定义在 org.springframework.context 包下的ApplicationContext 。正是contenxt为是 Spring 提供一个运行时的环境,发现每个 Bean 之间的关系,为它们建立这种关系并且要维护好这种关系。IOC容器指的应该就是这种关系集合。

ApplicationContext 是 Context 的顶级父类,可以看到他有多少种实现:

sping_applictionContext

容器初始哈[......]

阅读全文

Tags: , , ,

Comments { 2 }

Spring IOC之Bean的创建

上一篇文章讲述了从配置文件到Bean定义的过程。容器初始化完成后,在IOC容器内建立了BeanDefinition,具体的依赖关系还没有注入。当使用者第一次向IOC容器请求Bean时,IOC容器才会对这个Bean注入的依赖关系。在依赖注入完成后,使用者调用getBean方法来获得bean。不难想象这个bean创建的过程一定是一个递归的的。当我们要创建一个bean时,会递归的在context中查找需要的bean来递归创建;在依赖注入的时候,一直要获取当前bean依赖的bean,对依赖的bean进行创建和注入。

  1. ?AbstractBeanFactory ?getBean

2.??doGetBean

3. ??AbstractAutowire[......]

阅读全文

Tags: , ,

Comments { 1 }