Spring chapter 3

Bean依赖的决定通常取决于下面这些内容:

  1、BeanFactory通常使用一个描述所有bean的配置被创建和实例化。大多数的Spring用户使用一个支持XML格式配置文件的BeanFactory或ApplicationContext实现。

  2、每一个bean的依赖表现为属性,构造函数,或者当用静态工厂方法替代普通构造函数时工厂方法的参数。这些依赖将会在bean真正被创建出来提供给bean。

  3、每一个属性或者构造函数参数要么是一个要被设置的值得定义,要么是一个指向BeanFactory中其他bean的引用。在这ApplicationContext的情况下,这个引用可以指向一个父亲ApplicationContext中bean。

  4、每一个属性或构造函数参数的值,必须能够从(配置文件中)被指定的格式转变为真实类型。缺省情况下,Spring能够把一个字符串格式的值转变为所有内建类型,比如int,long等。另外当说到基于XML的BeanFactory实现的时候(包括ApplicationContext实现),他们已经为定义Lists,Maps,Sets和Properties集合类型提供了内在的支持。另外Spring通过使用JavaBeans的PropertyEditor定义,能够将字符串值转变为其他任意的类型。当一个bean属性是一个Java class 类型,Spring允许你使用这个类的名字的字符串作为这个属性的值,classEditor这个内建的PropertyEditor会帮你把类的名字转变真实的Class实例。

  5、很重要的一点就是:Spring在BeanFactory创建的时候要校验BeanFactory中每个Bean配置。这些校验包括作为Bean引用的属性必须实际引用一个合法的Bean,但是bean属性本身直到bean被真实建立的时候才被设置。对于那些事Singleton并且被设置为pre-instantiated的bean来说,bean在创建时,他会潜在的导致一系列的其他bean被创建,像他的依赖以及他的依赖的依赖被创建和赋值。

  6、通常你可以信赖Spring做了正确的事情。他会在BeanFactory装载的时候检查出错误,包括对不存在bean的引用和循环引用。他会尽可能晚的设置属性和解决依赖,也就是在bean真正创建的时候。这就意味着:就算一个BeanFactory被正确的装载,

Spring chapter 3,布布扣,bubuko.com

Spring chapter 3

上一篇:CodeBlocks对C++模板的支持


下一篇:Java HashMap遍历