Spring 中的继承只是属性继承,定义为Abstract="true"的bean不会进行是实例化。
实例分析:
例1:
<bean id="absDao" abstract="true" class="com.baidu.sns.base.dao.SnsbaseDao" >
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<bean id="userBlackDao" parent="absDao" class="com.baidu.sns.blacklist.dao.UserBlackDao">
</bean>
在子类bean中
userBlackDao中,只是引用了父类Bean的
hibernateTemplate属性,这时父类bean:
absDao可以用不用定义class属性的。
例2:
<bean id="absDao" abstract="true" class="com.baidu.sns.base.dao.SnsbaseDao" >
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
<bean id="userBlackDao" parent="absDao">
</bean>
子类Bean:
userBlackDao没有定义class属性,需要用父类bean中定义的class=“ com.baidu.sns.base.dao.SnsbaseDao”类进行实例化,所以此属性必须配置正确,此时可以在子类bean中覆盖父类bean的某些属性,实现自己的功能。
因此spring中的继承更像是Template模式。
分享到:
相关推荐
在Spring框架中,Bean是核心概念之一,它们代表了应用程序中的对象,负责执行特定的功能。Spring作为一个依赖注入(DI)和面向切面编程(AOP)的容器,它管理Bean的生命周期并处理Bean之间的依赖关系。本文将深入...
在Spring框架中,继承、依赖和引用是核心的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)概念的重要组成部分。这些概念对于理解和使用Spring框架进行应用开发至关重要。以下是对...
在本文中,我们将深入探讨如何在SpringBoot项目中集成Spring Security来实现角色继承,并提供一个完整的源码示例。这将特别适用于初学者和开发者,帮助他们更好地理解Spring Security的安全特性。 首先,让我们理解...
spring集成quartz2.2.1步骤,包括具体代码,欢迎下载
当我们谈论"继承 空指针 spring"时,这通常涉及到Spring框架中的类继承和空指针异常(NullPointerException)问题。 首先,让我们讨论一下继承在Spring框架中的作用。在Spring中,我们经常通过继承来实现对服务层...
集成 MyBatis 需要引入相关依赖,例如在 Maven 的 `pom.xml` 文件中添加 MyBatis 和其 Spring Boot starter。接着,配置 MyBatis 的核心配置文件(`mybatis-config.xml`),设置数据源,以及扫描 Mapper 接口。...
在Spring框架中,Bean的继承配置是一个非常关键的概念,它允许我们通过定义一个基础Bean配置,然后由其他Bean继承这个配置,实现配置的复用和扩展。这种方式在大型项目中非常常见,因为它使得代码更加模块化,易于...
- **Spring Data MongoDB** 支持定义 Repository 接口来进行数据访问,这些接口通常继承自 `MongoRepository` 或其子接口。 - **Repository** 可以定义基于方法名的查询方法,例如: ```java public interface ...
17.Spring Cloud中Feign的继承特性 18.Spring Cloud中Feign配置详解 19.Spring Cloud中的API网关服务Zuul 20.Spring Cloud Zuul中路由配置细节 21.Spring Cloud Zuul中异常处理细节 22.分布式配置中心Spring ...
只需定义接口并继承MongoRepository,Spring 将自动实现这些接口的方法。 6. **Document 类型和数据模型** 在Spring Data MongoDB 中,数据通常被表示为`@Document` 注解的类。这些类定义了文档结构,并提供了与...
@Primary注解和Feign继承支持,使得Feign可以和Spring MVC并存,从而减少配置复杂性。 在外部配置方面,Archaius提供了动态配置管理。路由器和过滤器方面,Zuul作为一个智能路由器,可以实现反向代理、路由以及过滤...
本教程将深入探讨如何在基于Spring Cloud的微服务架构中集成Flowable工作流引擎,提升系统的流程管理能力。 首先,Spring Cloud是构建分布式系统的一系列工具集,包括服务发现、配置管理、熔断机制等,它为微服务...
- 为了避免重复定义相同的bean配置,Spring支持一种类似于继承的机制,即通过定义一个抽象bean来作为其他bean的基础模板。例如,创建一个抽象bean `AbstractService`,并在其他具体服务中引用它: ```xml ...
6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...
- **Spring Type Conversion**:介绍了Spring中的类型转换机制。 - **Spring Field Formatting**:讲述了Spring如何进行字段格式化。 以上是对Spring 4中文API文档的概述和总结,涵盖了从总体概览到具体技术细节的...
元注解是用于创建其他注解的注解,如`@Target`、`@Retention`、`@Documented`和`@Inherited`,它们定义了注解的使用位置、生命周期、是否出现在Javadoc中以及是否能被子类继承。例如,`@Component`就是一个元注解,...
在Spring框架中,通过面向接口的编程思想,能够使得业务逻辑层与其他层次如数据访问层、表示层等实现解耦,提升程序的可维护性与可扩展性。Spring 5.0.2中文官网文档中详细阐述了Spring框架的多个核心组件,其中最...
当发生未检查异常(继承自RuntimeException的异常)时,Spring会自动回滚事务;而对于受检查异常(非RuntimeException),如果不显式声明需要回滚,Spring将提交事务。理解这一点对于避免不必要的数据损坏至关重要。...
例如,如果一个类被`@Service`注解,而`@Service`又继承了`@Component`,那么即使类本身没有`@Component`,Spring也会发现这个bean。 5. **自动代理**: 当Spring发现一个类被`@Autowired`、`@Resource`或`@Service`...