`

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

阅读更多

被注入类的父类有相应的属性,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);
    }
}

 

分享到:
评论

相关推荐

    Spring的配置以及事件注入

    当你有一个事件需要在整个应用中传播时,可以创建一个自定义的事件类,继承自ApplicationEvent。例如: ```java public class CustomEvent extends ApplicationEvent { private String eventData; public ...

    spring jersey整合后无法注入

    Spring通过其IoC(Inversion of Control)容器来管理对象的生命周期和依赖关系,而Jersey则是一个基于JAX-RS(Java API for RESTful Web Services)规范的实现,用于创建RESTful服务。 当Spring与Jersey整合时,...

    继承 空指针 spring

    为了防止这种情况,我们需要确保在Spring的XML配置文件中定义了一个`HibernateTemplate` bean,并将其注入到继承自`HibernateDaoSupport`的DAO类中。例如: ```xml &lt;bean id="myHibernateTemplate" class="org....

    第七章 Spring4 继承、依赖、引用

    在Spring框架中,继承、依赖和引用是核心的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)概念的重要组成部分。这些概念对于理解和使用Spring框架进行应用开发至关重要。以下是对...

    学习Spring教程时,无法继承SpringBeanAutowiringSupport类

    总之,当遇到无法继承`SpringBeanAutowiringSupport` 类的问题时,首要任务是检查并确保项目已经正确地引入了Spring框架的依赖。理解这个类的作用以及如何在项目中正确使用,是深入学习Spring框架的关键步骤。通过...

    spring试题(含答案)

    setter 注入的优点包括通过 setter 方法设定依赖关系更加直观自然、当依赖关系(或继承关系)较复杂时,构造注入方式的构造函数相当庞大,此时若使用设值注入方式则简单快捷。构造方法注入的优点包括把创建完整、...

    Quartz注入Spring的Bean

    3. **Spring注入Bean到Job**:在Job执行时,我们可以直接注入其他由Spring管理的Bean,无需在Job中创建这些对象,从而减少了代码的复杂性,增强了可重用性。 4. **JobFactory的自定义**:Quartz默认使用...

    SpringJdbcTemplate封装工具类

    "更新记录.docx"文件可能是项目开发过程中对SpringJdbcTemplate封装工具类的修改日志,记录了每次更新的功能改进、bug修复或性能优化等内容,这对于版本管理和问题排查非常有帮助。 通过上述分析,我们可以看到...

    spring笔试题28题选择+2简答

    - **自动装载**: Spring可以根据依赖关系自动匹配并注入相应的Bean。 **知识点2:构造方法注入的特点** - **优点**: 可以确保依赖关系的完整性,特别适用于不可变对象或者必需的依赖关系。 - **缺点**: 当依赖关系...

    Struts2+Spring简单示例

    5. 在Action类中,声明需要由Spring注入的属性,并使用@Autowired注解进行自动装配。 **示例源码分析:** "mySSH"可能指的是MySSH项目,这是一个基于Struts2和Spring的简单示例,可能包含了基础的CRUD操作。源码中...

    strut2+spring+springjdbctemplate做的简易登录系统

    Action类通常继承自Struts2的ActionSupport类,通过注解或配置文件来指定执行的方法。在登录验证时,Action类会调用Spring服务层的接口,这个接口可能是由Spring的依赖注入机制创建并注入到Action中的。 Spring框架...

    使用Spring降低类之间的耦合

    依赖注入是Spring的核心特性之一,它允许我们解耦对象的创建和对象之间的依赖关系。传统的编程模式中,一个类通常会直接创建或查找其依赖的对象,这种做法使得类之间产生了紧密的耦合。而在Spring中,我们可以通过...

    spring、Struts2、hibernate常见面试题

    本文将详细解释 Spring、Struts2、Hibernate 面试题中的知识点,涵盖了 MVC 模式、Struts1.2 和 Struts2.0 的区别、单例模式、Servlet 依赖、可测试性、项目中使用 SSH 的原因、Struts 和 Spring 的继承关系、实现...

    Spring简单模拟Spring容器

    2. 创建具体的Bean实现类,实现接口或继承抽象类。 3. 设计一个容器类,用于存储Bean实例和它们的依赖关系。 4. 实现容器的初始化方法,加载Bean定义,并根据定义创建Bean实例。 5. 实现依赖注入,可以通过反射或者...

    struts2 spring hibernate integration

    在实际项目中,通常使用Spring来管理Struts2的Action实例,通过Spring的DI实现Action类的依赖注入。同时,Spring负责管理Hibernate SessionFactory,提供透明的事务管理。在Struts2的Action执行完毕后,可以通过...

    spring源码全部uml类图

    UML(统一建模语言)类图是理解软件设计的重要工具,它可以帮助开发者直观地看到类之间的关系,如继承、实现、关联、依赖等。在"spring源码全部uml类图"中,我们可以深入探讨Spring框架的内部结构和设计模式。 首先...

    Spring系列面试题129道(附答案解析)

    - 依赖注入(DI)支持:Spring通过控制反转(IoC)支持将对象之间的依赖关系通过配置文件或注解来管理。 - 面向切面编程(AOP):Spring支持面向切面编程,可以将通用任务(如日志记录和事务管理)模块化。 - 事务...

    struts2+spring练习

    Struts2提供了MVC(模型-视图-控制器)架构,帮助开发者更好地组织和管理应用程序逻辑,而Spring则是一个全面的后端框架,提供依赖注入、AOP(面向切面编程)、事务管理等特性。 在"Struts2+Spring练习"项目中,...

Global site tag (gtag.js) - Google Analytics