`
小蛋蛋
  • 浏览: 81297 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

请您先登录,才能继续操作

Spring中注入抽象bean

阅读更多
一般情况下是很简单的,是在<bean>标签中写入abstract=true就可以的
有可能会出现这样的情况:
定义个抽象类 A
我们在A里面注入了两个属性 B和C
其中B和C也在<bean>标签定义

此时我们需要有一个具体的实现类AA继承自A抽象类
同时我们在AA中新添加了一个属性D,同时这个D也需要Sping注入进来。

此时的类结构就是
public abstract class A{
    private B b;
    private C c;

   b和c的get和set方法...........

}

public class AA extends A{
    private D d;
   
...D的get和set方法..
}

此时我们就可以在AA中通过getB()和getC()方法来获得b和c两个的内容并进行对应操作

这种情况下的bean的定义如下所示:
<bean id="b"...../>
<bean id="c"...../>
<bean id="d"...../>
这三个是b c d 这三个属性的定义
<bean id="a" class="com.ysg.bo.A" abstract="true">
    <property name="b">
        <ref local="b"> 将b注入进来
    </property>
    <property name="c">
        <ref local="c"> 将c注入进来
    </property>
</bean>

AA的定义如下所示:
<bean id="aa" parent="a">
    <property name="target">
        <bean class="com.ysg.bo.AA">
         <property name="b">
        <ref local="b"> 将b注入进来
    </property>
    <property name="c">
        <ref local="c"> 将c注入进来
    </property>
    <property name="d">
        <ref local="d"> 将d注入进来
    </property>
        </bean>
    </property>
</bean>
此时需要将b和c在子类中重新注入一遍的


分享到:
评论

相关推荐

    Spring实战之抽象Bean和子Bean定义与用法示例

    在Spring框架中,抽象Bean和子Bean是两个非常重要的概念,它们在Bean的定义和使用中扮演着关键角色。抽象Bean是指不能被实例化的Bean,而子Bean则是继承了抽象Bean的配置信息的Bean。本文将详细介绍Spring实战之抽象...

    Spring依赖注入检查.

    本文将深入探讨Spring依赖注入的概念、工作原理以及如何在实际项目中应用。 依赖注入(Dependency Injection,简称DI)是一种设计模式,它允许组件之间通过外部源来管理其依赖关系,而不是由组件自己来创建或查找...

    spring配置bean注入为空的问题,求帮助

    NULL 博文链接:https://pczhuce-126-com.iteye.com/blog/1315170

    Spring使用@Autowired为抽象父类注入依赖代码实例

    Spring框架中,使用@Autowired注解可以将依赖项注入到Bean中,但是当我们需要将依赖项注入到抽象父类时,会遇到一些问题。如果我们直接使用@Autowired注解在抽象父类中,可能不会生效,因为抽象父类不能被实例化。...

    spring入门教程之bean的继承与自动装配详解

    除了普通的Bean,Spring还支持抽象Bean,也就是`abstract="true"`的Bean。这些Bean不会被实例化,仅用于其他Bean继承配置。例如: ```xml &lt;bean id="address4" class="com.sunny.beans.autowire.Address" p:city="...

    Spring 源码分析(Bean的初始化)

    `BeanDefinition`是Spring IOC容器中Bean定义的抽象表示,它包含了Bean的所有配置信息。 一旦所有的Bean定义都被解析并注册到BeanDefinitionRegistry(通常是一个`DefaultListableBeanFactory`实例),Spring会开始...

    Spring中眼花缭乱的BeanDefinition.docx

    Spring中的BeanDefinition是核心概念,它是Spring IOC容器的基础,用于描述Bean的元数据,包括Bean的行为、依赖关系和其他配置信息。BeanDefinition包含了Bean的全限定类名、作用域、生命周期回调方法、依赖的其他...

    解析Java中如何获取Spring中配置的bean

    在Java开发中,Spring框架是广泛使用的依赖注入(DI)和面向切面编程(AOP)的工具。本文将深入探讨如何在Java程序中获取Spring框架中配置的bean。 首先,我们来理解一下Spring框架的基本概念。Spring是一个轻量级...

    Spring的Bean配置说明

    `factory-bean`属性指向一个已经定义的Bean,而`factory-method`则指明了工厂Bean中的哪个方法用于创建目标Bean。 - **依赖关系**: - **`depends-on`属性**:定义Bean之间的依赖关系,确保指定的Bean在当前Bean...

    SSH---Spring减少配置量将公共的配置进行抽象源码

    这种方式允许我们在一个配置类中定义多个bean,并通过方法间的调用来实现依赖注入,进一步减少XML配置。 对于多处使用的相同配置,我们可以创建一个抽象的配置类,然后让其他配置类继承它。在父配置类中定义通用的...

    Spring-注入依赖

    除了基本的依赖注入,Spring还提供了其他高级功能,如基于接口的AOP(面向切面编程)、事务管理、数据访问抽象等。这些功能都是Spring框架的强大之处,使得开发者能够构建复杂、健壮且易于维护的应用系统。 在实际...

    Spring入门操作代码,bean

    这里的"bean"指的是在Spring容器中被管理的对象,通常是我们所说的Java对象或者说是业务层的实体类。在CRM系统中,这些bean可能对应着如客户信息管理模块的各种业务实体,比如Customer类。 新增客户信息:在Spring...

    spring jdbcTemplate 注入到servlet

    本篇文章将深入探讨`Spring JdbcTemplate`的注入以及如何在Servlet中使用它。 首先,让我们了解一下`JdbcTemplate`的基本概念。`JdbcTemplate`的核心功能包括:执行SQL查询、更新、调用存储过程等,同时提供了一套...

    spring的Bean配置说明

    在Spring框架中,配置Bean是核心功能之一,它允许开发者声明、管理和注入应用程序中的对象。Spring使用XML配置文件来描述这些Bean及其依赖关系。以下是对Spring Bean配置的详细解释: 1. `&lt;beans&gt;` 根元素:这是...

    spring6pdf详细讲解

    在 Spring 中, Bean 的生命周期包括实例化、依赖注入、初始化和销毁等阶段。开发者可以通过多种方式来管理 Bean 的生命周期,包括使用 @PostConstruct 和 @PreDestroy 等注解。 Spring 的 AOP 模块提供了多种方式...

    第四章 Spring Bean基础1

    Spring Bean 是 Spring 框架的核心概念,它代表了应用程序中的一个对象,这个对象可以被 Spring 容器管理,包括创建、初始化、装配、销毁等生命周期过程。在 Spring 中,Bean 定义是由 `BeanDefinition` 接口来表示...

    Spring Bean 的生命周期.docx

    2. BeanFactoryAware:在`setBeanName`之后,Spring会调用`setBeanFactory`方法,将BeanFactory对象注入到Bean中,使Bean能够访问容器。 3. InitializingBean:这个接口提供了一个`afterPropertiesSet`方法,在所有...

    spring02-3

    在Spring的XML配置文件中,当一个bean定义使用`parent`属性引用另一个bean定义时,它将继承父bean的所有属性,包括初始化方法、属性注入等。这种方式可以实现配置的复用,减少重复代码,提高可维护性。例如,我们...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

Global site tag (gtag.js) - Google Analytics