`

Spring 继承 (Parent)

 
阅读更多

Spring中的继承与Java中的继承不一样, Spring中的继承是指继承Parent的属性, 这样就不用重复设置值.

 

比如:

 

	<bean id="parent1" class="spring.parent.Parent1" abstract="true">
		<property name="member1" value="1"/>
		<property name="member2" value="2"/>
	</bean>
	
	<bean id="son1" parent="parent1">
		<property name="member1" value="11" />
		<property name="member3" value="33" />
	</bean>

	<bean id="son2" parent="parent1">
		<property name="member1" value="12" />
	</bean>
 

 

这样,son1, son2都会有parent1的所有属性值, son1, son2自己的member1会覆盖parent1中的 member1的值.

 

因为 parent1 具有属性 abstract="true", 因此如果使用下面语句,都会报错, abstract bean 不可被初始化.

 

xmlContext.getBean("parent1");
  

对于son1, 我们可以指定class, 也可以不指定, 如果不指定, Spring 则会用class Parent1去初始化.

 

	<bean id="son1" parent="parent1" class="spring.parent.Son1">
		<property name="member1" value="member3" />
	</bean>
 

 

-End-

 

 

分享到:
评论

相关推荐

    spring-boot-parent.rar

    在本案例中,我们讨论的是 "spring-boot-parent.rar" 文件,这很可能是某个开发者分享的一个关于Spring Boot父子项目构建的示例或模板。 "spring-boot-parent" 这个名称暗示了这是一个Maven或Gradle的父项目,通常...

    spring-boot-starter-parent-1.5.13.RELEASE.zip

    当我们在Spring Boot项目中引用这个Starter Parent时,这些信息会被继承到我们的项目中。 使用Spring Boot Starter Parent的好处包括: - 统一版本管理:Starter Parent自动管理了Spring及其依赖库的版本,避免了因...

    解析spring-boot-starter-parent简介

    spring-boot-starter-parent继承了spring-boot-dependencies,继承了所有依赖项版本信息,从而实现了依赖项版本的统一管理。 spring-boot-starter-parent还提供了一些默认的插件配置,包括maven-failsafe-plugin、...

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

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

    Spring In Action 继承Bean的配置

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

    04_springcloud-parent.rar

    8. **示例演示**:在"springcloud-parent"这个项目中,很可能包含了使用Feign进行远程调用的示例代码。这可能包括创建Feign接口,定义服务客户端,以及如何在应用中使用这些客户端来调用其他微服务。 以上是对Feign...

    SpringBoot+SpringCloud面试题.doc

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

    spring02-3

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

    详解Spring Boot 项目中的 parent

    2. 继承依赖管理:parent依赖于spring-boot-dependencies,这是Spring Boot的依赖管理POM。在这个依赖管理POM中定义了各种Spring Boot项目常用的依赖版本信息。这就解释了为什么在Spring Boot项目中引入依赖时通常不...

    spring-boot-reference

    Spring Boot Reference Guide通过指导如何使用不同的构建系统来构建Spring Boot项目,例如Maven和Gradle,以及如何配置构建环境、继承和使用Starter Parent。还提供了一些高级的自定义选项,比如改变Java版本和使用...

    Spring Boot 进阶笔记.pdf

    这也就是引入的 WEB 模块 starter 的时候不用指定版本号 &lt;version&gt; 标签的原因,因为在 spring-boot-starter-parent 中已经指定了,类似于一种继承的关系,父亲已经为你提供了,你只需要选择用不用就行。 Spring ...

    十分钟上手spring boot

    继承starter parent** - 使用starter parent POM来简化配置。 - **13.2.2. 在不使用parent POM的情况下玩转Spring Boot** - 也可以选择不使用parent POM。 - **13.2.3. 使用Spring Boot Maven插件** - 使用该...

    spring3.2.0.RELEASE版jar包【整合版,包含所有的主要jar包】-正式版下载

    Spring 3.2.0.RELEASE版本是一个非常成熟且功能强大的版本,它不仅继承了Spring框架一贯的优秀特性,还在多个方面进行了优化和增强。通过使用这个版本的整合包,开发者可以更高效地开发出高质量的企业级Java应用程序...

    ssm-parent.rar

    SSM-Parent是一个基于Maven构建的入门级聚合项目,旨在帮助初学者理解Maven中的三个核心概念:依赖(Dependencies)、继承(Inheritance)和聚合(Aggregation)。在这个项目中,我们将深入探讨这些概念以及它们在...

    spring配置文件:整理总结Spring中XML配

    - 为了避免重复定义相同的bean配置,Spring支持一种类似于继承的机制,即通过定义一个抽象bean来作为其他bean的基础模板。例如,创建一个抽象bean `AbstractService`,并在其他具体服务中引用它: ```xml ...

    spring boot入门教程

    &lt;artifactId&gt;spring-boot-starter-parent &lt;version&gt;2.7.4 &lt;/parent&gt; &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;spring-boot-starter-web &lt;groupId&gt;org.springframework.boot &lt;artifactId&gt;...

    spring-boot-reference.pdf(原版本)

    依赖管理部分介绍了如何继承starter-parent,以及如何在不使用parent POM的情况下使用Spring Boot。此外,还介绍了如何更改Java版本,以及如何使用Spring Boot Maven插件。 在代码结构部分,文档介绍了如何组织你的...

    Spring Boot 2.3.12框架集成:全面配置与依赖版本管理

    项目继承自spring-boot-starter-parent父项目,版本为2.3.12.RELEASE,且指定Java编译目标版本为1.8。 依赖版本包括Spring Boot 2.3.12版本,Spring Cloud Hoxton.SR12,Spring Cloud Alibaba 2.2.10-RC1等。此外还...

Global site tag (gtag.js) - Google Analytics