`

设计:Spring动态注入implementation 、业务处理过程抽象

阅读更多

场景:
接口或抽象类,有多个实现/子类。使用Spring,&Autoinjected关联的是接口/抽象类,怎么让spring可以在运行时动态注入具体的实现那?

参考:
How to use @Autowired to dynamically inject implementation like a factory pattern
http://stackoverflow.com/questions/5725222/how-to-use-autowired-to-dynamically-inject-implementation-like-a-factory-patter
How to get beans created by FactoryBean spring managed?
http://stackoverflow.com/questions/4970297/how-to-get-beans-created-by-factorybean-spring-managed


上面的场景,是因为我们希望将业务处理过程抽象出来,将各种实现中公共的部分放到一个抽象类中。这种业务处理过程的抽象,用Method chaining,或builder,或结合使用其他的设计模式,哪个比较好那?

参考:
Method chaining with value objects
http://stackoverflow.com/questions/1981769/method-chaining-with-value-objects
分享到:
评论

相关推荐

    spring-data-mongo配置成功

    在Java开发中,Spring框架因其强大的功能和灵活性而备受推崇,而在处理NoSQL数据库如MongoDB时,Spring Data MongoDB提供了便捷的接口和抽象,使得开发者能更加专注于业务逻辑,而非底层数据访问的细节。本文将详细...

    spring4.0-mogo java driver 整合jar

    implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' ``` 2. 配置MongoDB:在Spring Boot项目中,可以使用`application.properties`或`application.yml`文件配置MongoDB连接信息。例如: ...

    boot-crmSpring数据库开发--SpringJDBC的配置

    在Spring框架中,Spring JDBC是连接数据库的重要模块,它提供了对JDBC的抽象层,使得开发者可以更加方便、高效地进行数据库操作。本教程将详细讲解如何在Spring Boot项目中配置Spring JDBC,以便进行数据库开发。 ...

    spring-boot-redis.zip

    Spring Data Redis是Spring框架的一部分,它提供了与Redis交互的抽象层。通过添加`spring-boot-starter-data-redis`依赖,我们可以轻松启用Spring Boot对Redis的支持。在`pom.xml`或`build.gradle`文件中,你需要...

    Spring Boot 实战 - redis

    Spring Data Redis是Spring Framework的一个模块,提供了对Redis的高级抽象。通过使用Spring Data Redis,我们可以方便地进行连接池管理、序列化以及命令操作。 集成Redis到Spring Boot项目中,我们需要在`pom.xml`...

    spring RMI简单例子

    Spring RMI在此基础上提供了更高级别的抽象,通过Spring的依赖注入(DI)和AOP(面向切面编程)能力简化了服务的创建和调用。 要实现Spring RMI,我们需要以下组件: 1. **远程接口(Remote Interface)**:这是...

    php 实现IOC set 注入

    在编程领域,IOC(Inversion of Control)容器是一种设计模式,它将对象的创建和管理权从...在实际项目中,我们可以结合其他设计模式,如工厂模式和抽象工厂模式,进一步完善 IOC 容器的功能,以适应更复杂的场景需求。

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

    Spring实战之抽象Bean和子Bean定义与用法示例 在Spring框架中,抽象Bean和子Bean是两个非常重要的概念,它们在Bean的定义和使用中扮演着关键角色。抽象Bean是指不能被实例化的Bean,而子Bean则是继承了抽象Bean的...

    SSM框架整合模板.rar

    **Spring框架**是整个SSM的核心,它提供了一个全面的依赖注入(DI)容器,用于管理对象的生命周期和装配。Spring还提供了AOP(面向切面编程)支持,方便进行日志记录、事务管理等通用功能的实现。此外,Spring还包含...

    Modern+Compiler+Implementation+in+Java

    在Java语言中,词法分析器需要处理的关键字、标识符、常量、运算符等,并生成相应的抽象语法树(AST)的叶子节点。 语法分析(Syntax Analysis)紧接着词法分析,通常由解析器完成。它根据语法规则将词法单元流转换...

    struts2引用库

    Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域具有广泛的应用。这个"struts2引用库"主题主要涵盖了Struts2框架的核心组件、依赖库以及如何在项目中正确引用和配置...

    zhengheredis

    Spring Boot是Spring框架的一部分,它提供了一种简化Spring应用初始搭建以及开发过程的方式。Redis则是一种高性能的键值存储系统,常用于缓存、消息队列以及持久化数据存储等多种场景。 **1. 添加依赖** 在Spring ...

    基于Spring中的线程池和定时任务功能解析

    Spring框架还提供了其他的线程池和定时任务执行的实现类,例如ApplicationEventMulticaster、Quartz等,这些实现类都使用TaskExecutor和TaskScheduler作为抽象接口来屏蔽掉底层JDK版本间以及Java EE中的线程池和定时...

    数据访问对象模式

    DAO模式的主要目标是通过提供一个抽象层,使得业务逻辑组件与底层数据存储机制解耦,从而降低了系统的复杂性,提高了可维护性和可测试性。 在DAO模式中,主要有四个角色: 1. 数据访问接口(Data Access Interface...

    接口对接类与相关xml

    - Spring框架广泛使用接口和XML来实现依赖注入(Dependency Injection, DI)。DI有助于降低耦合度,使代码更加灵活和易于测试。 - 在XML配置文件中,可以声明bean定义,指定其类、属性、依赖关系等。例如: ```...

    Java使用IOC控制反转的三种设计模式详解

    在 Java 中,我们可以使用依赖注入框架,例如 Spring 框架,来实现依赖注入。例如,我们可以使用 @Autowired 注解来注入依赖项,例如: ```java @Service public class MyService { @Autowired private MyDAO ...

    程序员需要知道

    **解答**: Spring + Hibernate 组合是一种常用的 Java 开发模式,它结合了 Spring 框架的依赖注入和事务管理功能,以及 Hibernate 框架的对象关系映射功能。 - **Spring**: 提供了一个轻量级的容器,用于管理应用...

Global site tag (gtag.js) - Google Analytics