且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Spring中继承配置的注入方法

更新时间:2022-09-16 21:05:31

(1)两个java类。一个父类一个字类

package com.lc.inherit;

/*
 * 这里是父类
 */
public class Student {
	
	protected String name;
	protected int age;
	public String getName() {
	//get/set方法
}

package com.lc.inherit;
/**
 * 继承Student类
 * @author xuliugen
 */
public class Gradate extends Student {

	//Gradate***的属性
	private String degree;
	//get、set方法
	
}


(3)Spring注入使用的配置文件

<?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:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- 配置一个学生对象 --> <bean id="student" class="com.lc.inherit.Student"> <property name="name" value="顺平" /> <property name="age" value="30"/> </bean> <!-- 配置Grdate对象 --> <bean id="grdate" parent="student" class="com.lc.inherit.Gradate"> <!-- 假设自己在这里配置属性name,age,则会替换从父对象继承的数据 没有配置的话依照父类--> <property name="name" value="小明"/> <property name="degree" value="学士"/> </bean> </beans>


(4)怎样使用注入的值

package com.lc.inherit;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App1 {

	
	public static void main(String[] args) {

		ApplicationContext ac=new ClassPathXmlApplicationContext("com/lc/inherit/beans.xml");
	
		Gradate gradate=(Gradate) ac.getBean("grdate");
		System.out.println(gradate.getName()+" "+gradate.getAge()+" "+gradate.getDegree());
	}

}



本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5099006.html,如需转载请自行联系原作者