概要:
‘
继承Bean配置
- Spring同意继承bean的配置,被继承的bean称为父bean。继承这个父Bean的Bean称为子Bean
- 子Bean从父Bean中继承配置,包含Bean的属性配置
- 子Bean也能够覆盖从父Bean继承过来的配置
- 父Bean能够作为配置模版,也能够作为Bean实例,若仅仅想把父Bean作为模版,能够配置<bean>的abstract属性为true。这样Spring将不会实例化这个Bean
- 并非<bean>元素里的全部属性都会被继承。比方:autowire,abstract等。
- 也能够忽略父Bean的class属性,让子Bean指定自己的类,而共享同样的属性配置,但此时abstract必须设为true
依赖Bean配置
- Spring同意用户通过depends-on属性设定Bean前置依赖的Bean,前置依赖的Bean会在本Bean实例化之前创建好
- 假设前置依赖于多个Bean,则能够通过逗号,空格或的方式配置Bean的名称
实例代码具体解释
代码结构:
Main.java
package com.coslay.beans.relation;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.coslay.beans.autowire.Address;import com.coslay.beans.autowire.Person;public class Main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-relation.xml"); Address address = (Address) ctx.getBean("address3"); System.out.println(address); address = (Address) ctx.getBean("address2"); System.out.println(address); Person person = (Person) ctx.getBean("person"); System.out.println(person); }}