您的位置:首页 > 编程语言 > Java开发

Spring配置文件中的Bean之间的关系

2017-07-18 08:52 435 查看
  前边我们讲过了Spring的自动装配的特性,即可以根据指定Bean的属性autowire为byName名称和byType类型装配,根据属性装配要求类的setXxx()中的xxx必须和bean中的id一致;根据类型装配要求类属性的类型必须和bean的class一致(根据类型装配要求当前IOC容器中之能有一个满足类型匹配的bean,否则无法确认哪一个合适,就无法匹配)。今天我们来说一说在IOC容器中配置的bean节点之间可以存在的关系。

  1. 直接引用

  若把一个bean的ref指向另一个bean的id,那么后者就是被前者引用为自己的实例属性了。

  2. 继承

  ① 当bean之间的属性大致相同时,我们为了简化代码就可以让子Bean继承父bean。子bean就可以拥有父bean的部分属性,同时子bean也可以覆盖父bean的属性内容。需要注意的是,子bean并非继承了父bean的所有属性,如:abstract和autowire属性就不会被子bean继承。

  ② bean除了可以配置在IOC容器中用于创建实例之外,也可以用于当做父bean模板。如果只希望某个bean当做父bean模板,那么可以将这个bean的属性abstract设置为true。一旦这个bean被设置成模板bean,那么这个bean就无法再IOC初始化的时候创建实例了(不可被实例化,也不可被指向)。

  3.依赖

  Spring中允许通过depends-on属性指定当前bean需要依赖的bean。依赖的作用呢是为了确保在当前bean之前要求被依赖的bean节点存在且可以被实例化。

  如果某个bean依赖于多个bean,那么可以通过逗号、空格的方式配置bean的名称。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐