简单描述一下定义继承这个概念:

就是在spring中生成两个bean:bean1和bean2

bean1定义了其内容(也就是property),

bean2没有定义,或只定义了其一部分内容.

通过在xml文件中使用parent关键字定义继承,

使得bean2中没有定义的内容沿用bean1的内容.

这里的例子中,你好世界有两个String内容,

你好印度有三个String内容.

在xml文件中,你好世界的所有内容都有其value(内容被定义)

你好印度只有一个或两个内容有value,

那么通过xml中的关键字parent,

使得你好印度那个没有被定义的内容,沿用你好世界中被定义的内容.

以下是关键代码:

package com.tutorialspoint;
public class HelloWorld {private String message1;private String message2;public void setMessage1(String message1) {this.message1 = message1;
}
public void setMessage2(String message2) {this.message2 = message2;
}
public void getMessage1() {System.out.println("world message1:"+message1);
}
public void getMessage2() {System.out.println("world message2:"+message2);
}}

  

package com.tutorialspoint;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);}
}

  

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id = "helloworld" class = "com.tutorialspoint.HelloWorld"><property name="message1" value = "你好世界"></property><property name="message2" value = "你好第二个世界"></property></bean><bean id = "helloindia" class = "com.tutorialspoint.HelloIndia" parent = "helloworld"><property name="message1" value = "你好印度"></property><property name="message3" value = "我在东北玩泥巴"></property></bean></beans>

package com.tutorialspoint;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();}
}

  

转载于:https://www.cnblogs.com/ssC2H4/p/8535502.html

Spring Bean的定义继承相关推荐

  1. Spring中Bean的定义继承

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/bean-definition-inheritance.html: Bean定义继承 bean定义可 ...

  2. Spring Bean 定义继承

    转载自  Spring Bean 定义继承 Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的 ...

  3. 【Spring】Spring Bean 定义继承

    Spring Bean 定义继承 bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定 ...

  4. Spring Bean的继承

    bean 定义可以包含很多的配置信息,包括构造函数的参数,属性值,容器的具体信息例如初始化方法,静态工厂方法名,等等. 子 bean 的定义继承父定义的配置数据.子定义可以根据需要重写一些值,或者添加 ...

  5. Spring教程——Spring Bean继承

    在 Spring 中,Bean 和 Bean 之间也存在继承关系.我们将被继承的 Bean 称为父 Bean,将继承父 Bean 配置信息的 Bean 称为子 Bean. Spring Bean 的定 ...

  6. spring bean的init、destory的几种方法及生命周期

    个人总结spring-bean的声明周期维护有三种: 注解:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 xml中配置:xml中定义ini ...

  7. Spring Bean 是什么?

    本文内容如有错误.不足之处,欢迎技术爱好者们一同探讨,在本文下面讨论区留言,感谢. 文章目录 简述 Spring Bean 基础 定义Spring Bean BeanDefinition 元信息 命名 ...

  8. Spring Bean生命周期过程

    Spring Bean生命周期过程 Spring Bean生命周期指的是Bean加载Spring容器的过程,单例的Bean与多例的Bean加载过程是不一样的.这里指的是单例Bean的加载过程. 图:S ...

  9. Spring bean配置的六种方式

    本文将详细介绍Spring Bean配置的六种不同方式的特点与使用条件. 一,Spring 的配置文件概述 其实,Spring的配置文件是Spring容器对Bean进行生产以及关系注入的图纸,他是Sp ...

最新文章

  1. 关键字 base 的作用
  2. .NET 指南:许可请求
  3. Python官方文档学习心得(第六篇)
  4. 华为余承东鸿蒙系统随时可以上线,华为发布鸿蒙系统,余承东称随时可替换安卓...
  5. assert函数_悉数Python函数传参的语法糖
  6. 电力安全工作规程发电厂和变电站电气部分_一招告诉你,何为电力系统
  7. 内容为王时代“内卷”急,安全风控一旦疏漏很要命!
  8. java能不能不用jvm_Java、JVM和操作系统之间的关系,写给新人,
  9. 金蝶BOS开发之--非空验证、时间、电话号码验证
  10. STM32 热敏电阻测量温度
  11. 海南楼市泡沫拯救中国经济,90年代上演过一次
  12. 千呼万唤始出来,犹抱琵琶半遮面,揭开HMM的神秘面纱
  13. 程序员的自我修养-读后感
  14. IE浏览器缓存第二次请求的解决方案
  15. texlive写论文源代码_使用Latex写论文
  16. 使用Python3和BeautifulSoup4处理本地html文件
  17. hadoop常用的命令大全
  18. 高质量C语言编程——持续更新
  19. 用Delphi发邮件
  20. Android Studio编译JNI时指定CPU种类

热门文章

  1. oscp——Hacker Fest: 2019
  2. Java swing的功能测试类库 FEST-Swing
  3. Docker系列(八):Kubernetes横空出世背后的秘密
  4. springboot 简单的扫码登录 demo
  5. android扫码 超简单零代码
  6. python 接收MQTT间隔一段时间停止问题
  7. php lararel,Voyager 的使用及二次开发
  8. 计算机静音图标无法更改怎么办,电脑声音图标有红叉怎么办?教您解决方法
  9. 开源二维码QR CODE编码/解码(识别)库
  10. python新式类c3算法_Python新式类的方法解析顺序MRO与Super