Spring如何继承Bean(详细示例)

  1. 在Spring继承Bean
通过使用bean的parent属性, 我们可以指定bean之间的继承关系。在这种情况下, 父bean值将被继承到当前bean。
让我们看一下继承bean的简单示例。
Employee.java
此类包含三个属性, 三个构造函数和用于显示值的show()方法。
package com.srcmini; public class Employee { private int id; private String name; private Address address; public Employee() {}public Employee(int id, String name) { super(); this.id = id; this.name = name; } public Employee(int id, String name, Address address) { super(); this.id = id; this.name = name; this.address = address; }void show(){ System.out.println(id+" "+name); System.out.println(address); }}

Address.java
package com.srcmini; public class Address { private String addressLine1, city, state, country; public Address(String addressLine1, String city, String state, String country) { super(); this.addressLine1 = addressLine1; this.city = city; this.state = state; this.country = country; } public String toString(){ return addressLine1+" "+city+" "+state+" "+country; }}

【Spring如何继承Bean(详细示例)】applicationContext.xml
< ?xml version="1.0" encoding="UTF-8"?> < beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> < bean id="e1" class="com.srcmini.Employee"> < constructor-arg value="http://www.srcmini.com/101"> < /constructor-arg> < constructor-argvalue="http://www.srcmini.com/Sachin"> < /constructor-arg> < /bean> < bean id="address1" class="com.srcmini.Address"> < constructor-arg value="http://www.srcmini.com/21, Lohianagar"> < /constructor-arg> < constructor-arg value="http://www.srcmini.com/Ghaziabad"> < /constructor-arg> < constructor-arg value="http://www.srcmini.com/UP"> < /constructor-arg> < constructor-arg value="http://www.srcmini.com/USA"> < /constructor-arg> < /bean> < bean id="e2" class="com.srcmini.Employee" parent="e1"> < constructor-arg ref="address1"> < /constructor-arg> < /bean> < /beans>

Test.java
此类从applicationContext.xml文件获取Bean并调用show方法。
package com.srcmini; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.xml.XmlBeanFactory; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; public class Test { public static void main(String[] args) { Resource r=new ClassPathResource("applicationContext.xml"); BeanFactory factory=new XmlBeanFactory(r); Employee e1=(Employee)factory.getBean("e2"); e1.show(); } }

下载此示例(使用MyEclipse IDE开发)
下载此示例(使用Eclipse IDE开发)

    推荐阅读