spring IoC概念理解

1.IoC容器是用来管理对象依赖关系的,对IoC容器的使用者来说,我们经常接触的BeanFactoryApplicationContext都可以看成是IoC容器的具体表现形式。如果深入spring看,IoC容器代表一系列功能各异的容器产品,只是容器的大小和功能有各自的特点。

2.就像商品需要有功能说明书一样,同样,作为IoC容器,也需要为它的具体实现指定基本的功能规范,这个功能规范设计表现为接口类BeanFactory,它体现了spring为提供给用户使用的IoC容器所设定的最基本功能规范,所以BeanFactory接口在继承体系中是最基本的接口类。

3.在这些spring提供的基本IoC容器的接口定义和实现基础上,spring通过定义BeanDefinition来管理基于spring的应用中的各种对象以及它们之间的依赖关系,这些BeanDefinition就像是容器里装的水,有了这些水,容器才能发挥作用。依赖反转功能都是围绕对这个BeanDefinition的处理上完成的。

4.在spring中,所有Bean都是由BeanFactory来管理的,FactoryBean是一个能产生或者修饰对象生成的工厂Bean

5.XmlBeanFactory是一个可以读取XML文件方式定义的BeanDefinitionIoC容器,构造XmlBeanFactory时,需要指定BeanDefinition的信息来源,而这个信息来源需要封装成spring中的Resource类来给出。Resource是用来封装IO操作的类。可以用ClassPathResource来构造Resource,然后作为参数传递给XmlBeanFactory。编程时如下使用建立IoC容器:

XmlBeanFactory factory=new XmlBeanFactory(new classPathResource("applicationContext.xml"));

ApplicationContext是一个高级形态意义的IoC容器,与简单的BeanFactory相比,对它的使用是一种面向框架的使用风格,所以一般建议在开发应用时使用ApplicationContext作为IoC容器的基本形式。

6.IoC容器的初始化包括BeanDefinitionResource定位,载入和注册这三个基本的过程。BeanDefinition的资源定位由ResourceLoader通过统一的Resource接口来完成,比如在类路径中的Bean定位由ClassPathResource来定位。这个过程类似于容器寻找数据的过程,就像用水桶装水得先找到水源。依赖注入的过程是用户第一次向IoC容器索要Bean时触发的。也可以在BeanDefinition信息中通过控制lazy-init属性来让容器完成对Bean的预实例化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值