zoukankan      html  css  js  c++  java
  • Spring学习(三)--Spring的IOC

    1、BeanFactory和FactoryBean

    BeanFactory是一个接口类,定义了IOC容器最基本的形式,提供了IOC容器所应该遵守的基本服务契约。

    FactoryBean是一个能产生或者修饰对象生成的工厂Bean,实现方式与工厂模式和修饰器模式类似。

    2、getBean()

    getBean()方法是使用IOC容器API的主要方法,可以通过指定名字的索引来获取IOC容器的Bean。

    3、BeanFactory的设计原理

    4、ApplicationContext

    ApplicationContext除了可以提供容器的那些基本功能外,还为用户提供了各种附加服务。

    MessageSource,支持国际化,为开发多语言版本应用提供服务。

    访问资源更加方便。

    支持应用事件,继承了接口ApplictionEventPublisher,在上下文中引入了事件机制。

    在ApplicationContext提供附加服务,使IOC容器的工能更加丰富。

    5、IOC容器的初始化

    IOC容器的初始化是通过refresh()f方法来启动的,这个方法是用来启动IOC容器,IOC容器的启动过程:BeanDefinition的资源Resource定位、载入和注册。

    Spring将这三个过程分离,分别用不同的模块进行,使用户可以更加方便的适合自己的IOC容器的初始化过程。

    (1)Resource定位

    由ResourceLoader通过统一的Resource接口来实现的,这个Resource接口对各种Definition定义了统一的接口。

    (2)BeanDefinition的载入

    BeanDefinition就是的普通的POJO的抽象表示,通过BeanDefinition定义的数据结构,是IOC容器可以更加方便的管理Bean。

    (3)向IOC容器注册BeanDefinition

    通过调用BeanDefinitionRegistry接口的实现来完成的,把载入过程中解析到的BeanDefinition在IOC容器中注入到一个HashMap中,IOC容器通过HashMap来持有这些BeanDefinition。

    IOC的初始化过程不包含依赖注入,依赖注入发生在第一次通过getBean()从容器中获取Bean的时候。我们可以通过对预实例化的配置来规定依赖注入的发生时间。 

  • 相关阅读:
    ArcEngine 地图与布局的联动
    ArcGIS Server安装篇
    AO+C#设置栅格图层基高 制作三维
    ArcGIS 10研究(一) 之 Desktop总体介绍 转载
    linux centos7 增加硬盘
    linux CentOS7安装oracle12c
    java中关于Socket类通信的基本测试程序
    Ubuntu 的中国梦
    我们无需“开始”菜单
    数据库战略高度解析 之系列说明
  • 原文地址:https://www.cnblogs.com/carblack/p/10858884.html
Copyright © 2011-2022 走看看