Spring中的继承

时间:2020-02-23 14:35:40  来源:igfitidea点击:

在Spring中,支持已重用已写入bean的继承,以便bean可以共享其中的常见属性和方法。

Child Bean将拥有父bean的所有属性和方法,还有子bean可以覆盖父bean的属性或者方法。

在Eclipse IDE中配置Spring,请参阅Hello World示例

Spring中继承的例子

1.Person.java.

这是一个简单的pojo类,其中有一些属性,所以pragon有名字。

在package org.igi.javapostsforlearning中创建person.java .Copy在内容中进入person.java。

package org.igi.javapostsforlearning;
 
public class Person {
 
	String name;
 
	public String getName() {
		return name;
	}
 
	public void setName(String name) {
		this.name = name;
	}
 
}

2.Employee.java.

这也是一个有一个名为"lemplyeenumber"的属性的简单pojo类。

在package org.igi.javapostssfor learning .java中创建employee.java。
内容进入employee.java之后的内容.java

package org.igi.javapostsforlearning;
 
public class Employee extends Person{
 
	int employeeNumber;
 
	public int getEmployeeNumber() {
		return employeeNumber;
	}
 
	public void setEmployeeNumber(int employeeNumber) {
		this.employeeNumber = employeeNumber;
	}
 
}

3.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:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
 
 <bean id="personBean" class="org.igi.javapostsforlearning.Person">
 <property name="name" value="igi"
 </bean>
 <bean id="employeeBean" class="org.igi.javapostsforlearning.Employee" parent="personBean">
 <property name="employeeNumber" value="178230" 
 </bean>
</beans>

其中我们已声明具有相应ID的两个bean。

1.具有ID的归属名为"人员"2.包含ID的员工作为"EmployEBean",我们使用的父属性显示该人是员工的父类。

<bean id="employeeBean" class="org.igi.javapostsforlearning.Employee" parent="id or name of parent bean">

4.InheritanceinspringMain.java.

此类包含main function.create继承inheritanceinspring.java下包org.igi.javapostsforlearning。
内容后的内容in haveitanceinspring.java

package org.igi.javapostsforlearning;
 
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
public class InheritenceInSpringMain {
 
	public static void main(String[] args) {
		ApplicationContext appContext = new ClassPathXmlApplicationContext("ApplicationContext.xml");
		Employee emp=(Employee) appContext.getBean("employeeBean");
		System.out.println("Employee name:"+emp.getName());
		System.out.println("Employee number:"+emp.getEmployeeNumber());
	}
}

我们可以在此处注意到,我们在此处使用ClassPathxmlApplicationContext来获取bean。
有多种方法来获取beans.in Hello World示例我们已使用XMLBeanFactory来获取beans。

5.运行

当我们将运行上面的应用程序时,我们将按照输出作为输出。

Employee name:igi
Employee number:178230