`
Phoenix_MVP
  • 浏览: 340849 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring继承

阅读更多

Spring支持继承,可以分为类继承和属性继承

 

1. 类继承

 

   Spring属性:

 (1)abstract: 如果设置为true,表示定义的bean是抽象的,告诉spring不要实例化这个bean;

问题:必须是抽象类么?可以不是抽象类么?

 (2)parent: 指明bean的id,对bean的作用,相当于extends对于java类的作用;

 

 

   场景:有三个Bean:

<bean id = "bean1" class = "……TestBean">

<property name="sex" value="male"/>

</bean>

<bean id = "bean2" class = "……TestBean">

<property name="sex" value="male"/>

</bean>

<bean id = "bean3" class = "……TestBean">

<property name="sex" value="female"/>

</bean>

 

  修改:定义spring 父bean

<bean id ="BaseBean" class ="……TestBean">

<property name="sex" value="male"/>

</bean>

定义子Bean

<bean id ="bean1" parent = "BaseBean"/>      继承父Bean的属性

<bean id ="bean2" parent = "BaseBean"/> 

<bean id ="bean3" parent = "BaseBean">    覆盖父Bean的属性

<property name="sex" value="female"/>

</bean>

 

子bean可以继承父Bean的属性,也可以覆盖父Bean的属性

 

 

 

2. 属性继承

 

    几个不同Bean之间存在相同的属性,可以抽离出来

 

    场景: 

 

 

<bean id = "bean1" class = "……ATestBean">

<property name="sex" value="male"/>

<property name="task" ref="task"/>

</bean>

<bean id = "bean2" class = "……BTestBean">

<property name="sex" value="male"/>

</bean>

 

 

     修改:(1) 抽取公共属性

 

<bean id = "baseSex" abstract="true">

<property name="sex" value="male"/>

</bean>

 

(2)bean修改

<bean id = "bean1" class = "……ATestBean" parent="baseSex">

<property name="task" ref="task"/>

</bean>

<bean id = "bean2" class = "……BTestBean" parent="baseSex"/>

 

 

 

这里bean同时有parent和class属性,其中parent指向的baseSex,就是为了让不同Bean之间共享相同的属性值;在TransactionProxyFactoryBean声明业务时,Bean属性继承能够明显的减少冗余的xml配置。

 

 

 

 

 

分享到:
评论

相关推荐

    spring继承quartz2.2.1步骤

    spring集成quartz2.2.1步骤,包括具体代码,欢迎下载

    struts1+spring+hibernate整合的jar包

    Struts1、Spring和Hibernate是Java Web开发中的三个重要框架,它们各自负责应用程序的不同层面:Struts1主要用于表现层管理,Spring则是一个全面的后端框架,包括依赖注入、事务管理、AOP(面向切面编程)等,而...

    SpringBoot集成Spring Security实现角色继承【完整源码+数据库】

    在本文中,我们将深入探讨如何在SpringBoot项目中集成Spring Security来实现角色继承,并提供一个完整的源码示例。这将特别适用于初学者和开发者,帮助他们更好地理解Spring Security的安全特性。 首先,让我们理解...

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

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

    继承 空指针 spring

    当我们谈论"继承 空指针 spring"时,这通常涉及到Spring框架中的类继承和空指针异常(NullPointerException)问题。 首先,让我们讨论一下继承在Spring框架中的作用。在Spring中,我们经常通过继承来实现对服务层...

    Spring In Action 继承Bean的配置

    在Spring框架中,Bean的继承配置是一个非常关键的概念,它允许我们通过定义一个基础Bean配置,然后由其他Bean继承这个配置,实现配置的复用和扩展。这种方式在大型项目中非常常见,因为它使得代码更加模块化,易于...

    常用四大连接池集合

    常用四大连接池集合c3p0,dbcp,druid,HikariCP,内有四大连接池的使用方法,配置方法,以及它们之间的比较和介绍,和spring继承等配置方法。 c3p0 太古老,代码及其复杂,不利于维护。貌似都比它强。 dbcp 是 ...

    Spring 简介 Spring 简介

    与其他容器相比,Spring 的一大特点是其Bean可以是普通的Plain Old Java Objects(POJOs),不需要实现特定接口或继承特定基类,这意味着Spring管理的对象在容器外部也可以正常使用,增强了代码的可复用性和灵活性。...

    spring boot继承mybatis框架以及多数据源

    Spring Boot 是一个基于 Spring 框架的高度集成了简化开发的工具,它旨在简化创建产品级的 Spring 应用程序。MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。当我们将 Spring Boot 与 ...

    spring-cloud 集成 flowable 工作流

    本教程将深入探讨如何在基于Spring Cloud的微服务架构中集成Flowable工作流引擎,提升系统的流程管理能力。 首先,Spring Cloud是构建分布式系统的一系列工具集,包括服务发现、配置管理、熔断机制等,它为微服务...

    SpringCloud.pdf

    应用程序上下文层次结构允许子上下文从父上下文中继承属性,增强了配置管理的灵活性。 总之,Spring Cloud 是构建云原生应用的强大工具,它提供了丰富的功能,如配置管理、服务发现、断路器、路由等,帮助开发者...

    Spring boot,springCloud精选视频教程

    17.Spring Cloud中Feign的继承特性 18.Spring Cloud中Feign配置详解 19.Spring Cloud中的API网关服务Zuul 20.Spring Cloud Zuul中路由配置细节 21.Spring Cloud Zuul中异常处理细节 22.分布式配置中心Spring ...

    SpringBoot+SpringCloud面试题.doc

    - 通过继承`spring-boot-starter-parent`父项目,可以获得统一的版本管理和依赖管理。 - 导入`spring-boot-dependencies`作为依赖管理,简化项目构建配置。 7. **Spring Boot运行方式** - 打包成JAR/WAR运行,可...

    009 maven插件spring-boot-maven-plugin

    如果不想继承 Starter 父 POM,可以使用以下方式来使用 Spring Boot: ```xml &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-web ``` 自定义层配置 Spring Boot Maven Plugin 提供...

    Spring Boot整合SpringDataJPA

    我们可以通过继承`JpaRepository`或`CrudRepository`来创建自定义的Repository,无需编写任何DAO层的代码。例如,假设我们有一个`User`实体,我们可以定义一个`UserRepository`: ```java public interface ...

    demo-Maven-Webapp.rar_DEMO

    **描述解析:** 描述提到“maven构建的spring继承CXF的简单示例”,这告诉我们这个项目是用Maven来管理依赖,使用Spring框架,并且集成了CXF服务框架。对于新手来说,这是一个很好的起点,因为它覆盖了三个关键的...

    【完整源码+数据库】 SpringBoot集成Spring Security实现角色继承

    在本文中,我们将深入探讨如何在SpringBoot项目中集成Spring Security来实现角色继承,并提供一个完整的源码示例。这将特别适用于初学者和开发者,帮助他们更好地理解Spring Security的安全特性。 让我们理解Spring...

    Spring Security角色继承分析

    Spring Security 角色继承分析 Spring Security 角色继承分析是 Spring Security 框架中的一项重要功能,它允许开发者定义角色之间的继承关系,从而实现权限的继承和复用。今天,我们将深入探讨 Spring Security ...

    spring试题(含答案)

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

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

    当你在项目中尝试继承`SpringBeanAutowiringSupport` 时遇到编译错误,这通常意味着你的构建路径中没有包含Spring的核心库。Spring框架是基于多个jar包的,包括但不限于`spring-context.jar`,这个jar包包含了`...

Global site tag (gtag.js) - Google Analytics