Spring注入有继承关系的类(2)

本文展示了如何使用Spring框架实现类的继承并进行属性注入,通过配置文件和实例化过程,实现子类自动获取父类属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:
1.AClass类

package com.bijian.spring.test4;

public class AClass {

    private String a;
    private String b;
   
    public String getA() {
        return a;
    }
    public void setA(String a) {
        this.a = a;
    }
    public String getB() {
        return b;
    }
    public void setB(String b) {
        this.b = b;
    }
}

 

2.BClass类

package com.bijian.spring.test4;

public class BClass extends AClass {

    String c;

    public String getC() {
        return c;
    }

    public void setC(String c) {
        this.c = c;
    }

    String fn() {
        return getA() + getB() + c;
    }
}

 

3.AClass类对应的配置文件aclass4.xml

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
  "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  <bean id="bean1" class="com.bijian.spring.test4.AClass">
      <property name="a">
          <value>1</value>
      </property>
      <property name="b">
          <value>2</value>
      </property>
  </bean>
</beans>

 

4.BClass类对应的配置文件bclass4.xml

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  
  "http://www.springframework.org/dtd/spring-beans.dtd">  
   
<beans>  
  <bean id="bean2" class="com.bijian.spring.test4.BClass">
    <property name="a">
          <value>5</value>
      </property>
      <property name="b">
          <value>6</value>
      </property>
      <property name="c">
          <value>3</value>
     </property>
  </bean>
</beans>

 

5.应用测试类Test.java

package com.bijian.spring.test4;

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

public class Test {

public static void main(String[] args) {
       
        ApplicationContext ac = new ClassPathXmlApplicationContext(new String[]{"bclass4.xml"});
       
        //得到子类,结果是:563
        BClass bclass = (BClass)ac.getBean("bean2");
        String res = bclass.fn();
        System.out.println(res);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值