Spring深入浅出(四),Spring Bean定义继承

本文内容纲要:Spring深入浅出(四),Spring Bean定义继承

Spring Bean 定义的继承与 Java 类的继承无关,但是继承的概念是一样的。你可以定义一个父 bean 的定义作为模板和其他子 bean 就可以从父 bean 中继承所需的配置。

一、创建HelloWorld类

package com.clzhang.spring.demo;

public class HelloWorld {

private String message1;

private String message2;

public void setMessage1(String message){

this.message1 = message;

}

public void setMessage2(String message){

this.message2 = message;

}

public void getMessage1(){

System.out.println("World Message1 : " + message1);

}

public void getMessage2(){

System.out.println("World Message2 : " + message2);

}

}

二、创建HelloIndia类

package com.clzhang.spring.demo;

public class HelloIndia {

private String message1;

private String message2;

private String message3;

public void setMessage1(String message) {

this.message1 = message;

}

public void setMessage2(String message) {

this.message2 = message;

}

public void setMessage3(String message) {

this.message3 = message;

}

public void getMessage1() {

System.out.println("India Message1 : " + message1);

}

public void getMessage2() {

System.out.println("India Message2 : " + message2);

}

public void getMessage3() {

System.out.println("India Message3 : " + message3);

}

}

三、创建调用程序

package com.clzhang.spring.demo;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MainApp {

public static void main(String[] args) {

ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

HelloWorld objA = (HelloWorld) context.getBean("helloWorld");

objA.getMessage1();

objA.getMessage2();

HelloIndia objB = (HelloIndia) context.getBean("helloIndia");

objB.getMessage1();

objB.getMessage2();

objB.getMessage3();

}

}

四、创建配置文件Bean.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.springframework.org/schema/beans"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

<bean id="helloWorld" class="com.clzhang.spring.demo.HelloWorld">

<property name="message1" value="Hello World!"/>

<property name="message2" value="Hello Second World!"/>

</bean>

<bean id="helloIndia" class="com.clzhang.spring.demo.HelloIndia" parent="helloWorld">

<property name="message1" value="Hello India!"/>

<property name="message3" value="Namaste India!"/>

</bean>

</beans>

五、运行结果

World Message1 : Hello World!

World Message2 : Hello Second World!

India Message1 : Hello India!

India Message2 : Hello Second World!

India Message3 : Namaste India!

在这里你可以观察到,我们创建 “helloIndia” bean 的同时并没有传递 message2,但是由于 Bean 定义的继承,所以它传递了 message2。

本文参考:

https://www.w3cschool.cn/wkspring/tydj1ick.html

本文内容总结:Spring深入浅出(四),Spring Bean定义继承

原文链接:https://www.cnblogs.com/nayitian/p/15000414.html

以上是 Spring深入浅出(四),Spring Bean定义继承 的全部内容, 来源链接: utcz.com/z/362562.html

回到顶部