<bean id="superNewsProvider" class="..FXNewsProvider">
<property name="newsListener">
<ref bean="djNewsListener"/>
</property>
<property name="newPersistener">
<ref bean="djNewsPersister"/>
</property>
</bean>
<bean id="subNewsProvider" parent="superNewsProvider" class="..SpecificFXNewsProvider">
<property name="newsListener">
<ref bean="specificNewsListener"/>
</property>
</bean>
我们在声明subNewsProvider的时候,使用了parent属性,将其值指定为superNewsProvider,
这样就继承了superNewsProvider定义的默认值,只需要将特定的属性进行更改,而不要全部又重新
定义一遍。
parent属性还可以与abstract属性结合使用,达到将相应bean定义模板化的目的。比如,我们还
可以像上面代码清单所演示的这样声明以上类定义。
下面使用模板化配置形式配置FXNewsProvider和SpecificFXNewsProvider
<bean id="newsProviderTemplate" abstract="true">
<property name="newPersistener">
<ref bean="djNewsPersister"/>
</property>
</bean>
<bean id="superNewsProvider" parent="newsProviderTemplate"
class="..FXNewsProvider">
<property name="newsListener">
<ref bean="djNewsListener"/>
</property>
</bean>
<bean id="subNewsProvider" parent="newsProviderTemplate" class="..SpecificFXNewsProvider">
<property name="newsListener">
<ref bean="specificNewsListener"/> </property>
</bean>
newsProviderTemplate的bean定义通过abstract属性声明为true,说明这个bean定义不需要实
例化。实际上,这就是之前提到的可以不指定class属性的少数场景之一(当然,同时指定class和abstract="true"也是可以的)。该bean定义只是一个配置模板,不对应任何对象。superNewsProvider和subNewsProvider通过parent指向这个模板定义,就拥有了该模板定义的所有属性配置。当多个bean定义拥有多个相同默认属性配置的时候,你会发现这种方式可以带来很大的便利。
另外,既然这里提到abstract,对它就多说几句。容器在初始化对象实例的时候,不会关注将abstract属性声明为true的bean定义。如果你不想容器在初始化的时候实例化某些对象,那么可以将其abstract属性赋值true,以避免容器将其实例化。对于ApplicationContext容器尤其如此,因为默认情况下,ApplicationContext会在容器启动的时候就对其管理的所有bean进行实例化,只有标
志为abstract的bean除外。
分享到:
相关推荐
spring-boot项目pom.xm中parent依赖文件spring-boot-starter-parent-1.5.13.RELEASE.pom
springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot 使用spring cache缓存 和 使用fastjson配置redis系列化,springboot ...
主要介绍了Spring Boot和Hazelcast使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
SpringCloud Stream构建消息驱动微服务示例工程,包含Eureka集群SpringCloud Stream结合RabbitMq的使用,写作不易,望支持一下!
配制Spring事务和JdbcTemplate使用 配制Spring事务和JdbcTemplate使用
spring中的parent标签abstract标签autowire标签的使用
spring-boot 父子项目的搭建,也不是很难,如果按照我博客上,没搭成功的话,就down下来看看,本人亲测是没有什么问题的,不是直接down其他人的项目。
spring框架中bean标签parent属性的各类使用范例 总计12个范例,涵盖了class、init-method、 factory-method、lazy-init、 depends-on、autowire 多种属性的组合使用
Spring Boot简化了基于Spring的应用开发,通过少量的代码就能创建一个独立的、产品级别的Spring应用。Spring Boot为Spring平台及第三方库提供开箱即用的设置,这样你就可以有条不紊地开始。多数Spring Boot应用只...
这个就是最新的spring-data-mongodb-parent-referencePDF文档(2013.4.18),如果觉得舍不得分,可以去官网上下。虽然是英文版的,但是官方的文档就是详细,让javaer更方便,快捷的操纵MongoDB
Spring Batch以POJO和大家熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和...
答:Spring 事件机制是使用订阅和发布模式。 题目 12: 下列关于 Spring Boot 热部署方式不正确的是? 答:下列关于 Spring Boot 热部署方式都是正确的。 题目 13: 下列关于 Spring 事件机制不正确的是? 答:...
Spring与ehcache结合使用,本地缓存的实现
核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、Security、OAth、Mybatis、Ace-cache等主要框架和中间件,UI采用Bootstrap、jquery等前端组件 spring boot项目是使用spring boot + thymeleaf 开发个人博客项目
spring框架,技术详解及使用指导spring框架,技术详解及使用指导spring框架,技术详解及使用指导spring框架,技术详解及使用指导spring框架,技术详解及使用指导spring框架,技术详解及使用指导spring框架,技术详解及使用...
5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):spring data jpa的使用.docx5-Spring-Boot(五):...
Spring基础:Spring AOP简单使用
spring-boot-parent 代码示例
这个项目提供了一个构建在 Spring 生态系统之上的 API 网关,包括:Spring 5,Spring Boot 2 和 Project Reactor。 Spring Cloud Gateway 旨在提供一种简单而有效的 API 路 由方式,并为其提供横切关注点,例如:...
Spring Framework 是一个广泛使用的 Java 应用程序框架,它提供了一个通用的编程模型和配置机制,帮助开发者快速构建企业级应用程序。下面是对 Spring Framework 的详细知识点总结: 1. 什么是 Spring? Spring ...