• Spring Bean的定义继承


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

    就是在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/beans
        http://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();
    	   
          
       }
    }
    

      

  • 相关阅读:
    MSP430:实时时钟-DS1302
    STM32: TIMER门控模式控制PWM输出长度
    LVM磁盘管理
    python的面向对象,类,以及类的使用
    pymysql模块
    paramiko模块
    正则表达式和re模块
    python3的soker模块实现功能
    根据生日测星座
    多进程,进程池,协程
  • 原文地址:https://www.cnblogs.com/ssC2H4/p/8535502.html
Copyright © 2020-2023  润新知