【Java.Spring.Core】【IoC】Bean定义的继承
2015-01-11 16:47
337 查看
Bean的定义可以包含很多的配置信息,包括构造函数参数,属性值等。子bean定义可以继承父bean定义的配置数据。子bean定义可以重载一些值,或者添加一些其他的值。使用父子bean定义可以起到一个模板的作用。
在基于XML的配置元数据中,使用parent属性来指定父bean:
在子bean中,如果一个属性不存在,则使用parent 定义中的值,或者可以重载它。子bean 类必须与parent bean相兼容,即其必须能接受父bean的属性值。
在上面的例子中,在parent bean中指定了一个 abstract 属性。如果 parent 定义没有指定一个类,需要显式的在parent bean的定义中指定 abstract 属性,例如:
在基于XML的配置元数据中,使用parent属性来指定父bean:
<bean id="inheritedTestBean" abstract="true" class="org.springframework.beans.TestBean"> <property name="name" value="parent"/> <property name="age" value="1"/> </bean> <bean id="inheritsWithDifferentClass" class="org.springframework.beans.DerivedTestBean" parent="inheritedTestBean" init-method="initialize"> <property name="name" value="override"/> <!-- the age property value of 1 will be inherited from parent --> </bean>
在子bean中,如果一个属性不存在,则使用parent 定义中的值,或者可以重载它。子bean 类必须与parent bean相兼容,即其必须能接受父bean的属性值。
在上面的例子中,在parent bean中指定了一个 abstract 属性。如果 parent 定义没有指定一个类,需要显式的在parent bean的定义中指定 abstract 属性,例如:
<bean id="inheritedTestBeanWithoutClass" abstract="true"> <property name="name" value="parent"/> <property name="age" value="1"/> </bean> <bean id="inheritsWithClass" class="org.springframework.beans.DerivedTestBean" parent="inheritedTestBeanWithoutClass" init-method="initialize"> <property name="name" value="override"/> <!-- age will inherit the value of 1 from the parent bean definition--> </bean>
相关文章推荐
- Spring IOC 之Bean定义的继承
- 【Java.Spring.Core】【IoC】基于注解的Bean装配(非XML配置)
- 【Java.Spring.Core】【IoC】Bean依赖注入- Dependencies
- 【Java.Spring.Core】【IoC】自定义bean nature
- 【Java.Spring.Core】【IoC】Bean 作用域 - Scopes
- java-在应用中获取spring定义的bean
- java spring Bean Definition Inheritance 继承实例
- Spring2.5中bean定义的继承
- java-在应用中获取spring定义的bean
- Spring源码学习IOC(4):IoC容器解析Bean定义资源并注册解析后的Bean
- java-在应用中获取spring定义的bean
- 【Java.Spring.Core】【IoC】ApplicationContext的附加功能(国际化,未完待续)
- spring源码学习之路---IOC容器初始化要义之bean定义载入(五)
- spring技术内幕3-IOC容器载入Bean定义资源
- spring源码学习之路---IOC容器初始化要义之bean定义载入
- Spring 配置bean定义的继承之XFIRE
- Spring3.2 中 Bean 定义之基于 Annotation 和 Java Code 配置方式的源码解析
- Spring IOC--Bean的装配(使用注解定义Bean)
- spring技术内幕2-IOC定位Bean定义资源
- 【Java.Spring.Core】【IoC】使用Classpath扫描向容器注册beans/components