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

Spring FactoryBean接口设计一个要点

阅读更多
Spring 的  FactoryBean 接口被设计为能够创建特定对象的工厂。

要设计一个 Spring FactoryBean, 例如: com.xxx.OrderFactoryBean 时,必须继承 org.springframework.beans.factory.FactoryBean 接口。

假定声明该 bean 为:
<bean id="OrderFactoryBean" class="com.xxx.OrderFactoryBean"/>


而获取该bean
Object bean = context.getBean("OrderFactoryBean");

得到的bean类型是 OrderFactoryBean 吗?

你可以先验证一下。

实践证明,不是。 而是由 OrderFactoryBean.getObject() 决定,即bean的类型为 Order。

代码如下:

class OrderFactoryBean implements FactoryBean {
    
    private Order order= new Order();
    Object getObject() {
       return order; //举个例子
    }
}


因此设计自己的 FactoryBean, 必须明确自己的Factory能生产什么,并恰的实现 getObject() 方法。
0
0
分享到:
评论

相关推荐

    spring的FactoryBean增强我们的目标对象.rar

    在Spring框架中,`FactoryBean`是一个非常重要的接口,它允许我们自定义对象的创建方式。这个接口使得我们可以实现自己的工厂逻辑,返回一个完全初始化、配置好的对象,甚至可以是带有额外增强功能的对象,比如代理...

    Spring中BeanFactory与FactoryBean接口的区别详解

    总之,BeanFactory是Spring容器的基础,负责管理和实例化Bean,而FactoryBean是Spring容器内部的一个特殊组件,用于创建更复杂的对象。两者在Spring框架中协同工作,提供强大的对象管理和依赖注入能力。在面试或实际...

    SSH笔记-通过实现FactoryBean接口来创建 Bean

    `FactoryBean`是Spring提供的一个接口,它提供了一种方式,让我们能够控制对象的创建过程。当你在Spring配置文件中声明一个Bean,并指定它的类型为`FactoryBean`的实现类时,Spring不会直接调用无参构造函数来创建...

    spring源码解析之FactoryBean相关测试代码demo

    在Spring框架中,`FactoryBean`是一个非常关键的接口,它允许我们自定义对象的创建方式,这在处理复杂依赖关系或需要特殊初始化逻辑时尤为有用。本篇将通过一个测试代码示例来深入解析`FactoryBean`的工作原理及其在...

    Spring中的FactoryBean.rar

    在Spring框架中,FactoryBean是一个非常重要的概念,它允许我们自定义对象的创建方式,提供了扩展Spring IoC容器的能力。FactoryBean是Spring提供的一种特殊类型的bean,它不仅仅是一个普通的对象,还是一个工厂,...

    spring中FactoryBean中的getObject()方法实例解析

    Spring 框架中 FactoryBean 是一个非常重要的概念,它提供了一种创建和管理 Bean 的机制。在 Spring 中,FactoryBean 是一个特殊的 Bean,它可以创建其他 Bean,並提供了对这些 Bean 的管理。今天,我们将深入探讨 ...

    详解Spring中的FactoryBean

    在Spring框架中,`FactoryBean`是一个非常重要的接口,它为Spring容器提供了更高级别的抽象,使得我们可以自定义Bean的创建过程。当一个Bean的初始化需要处理复杂的逻辑、依赖其他多个Bean,或者需要进行特殊处理时...

    spring中的FactoryBean代码示例

    Spring为我们提供了一个FactoryBean的接口,只要实现了这个接口,我们创建的Bean就是FactoryBean。下面是一个示例: ```java package factory; import org.springframework.beans.factory.FactoryBean; import ...

    FactoryBean代码最简实现

    当Spring容器遇到一个实现了`FactoryBean`接口的bean时,它不会直接调用`getBean()`方法来获取对象,而是调用`FactoryBean`的`getObject()`方法。这样,我们可以在`getObject()`方法中实现复杂的逻辑,如初始化、...

    简单了解Spring中BeanFactory与FactoryBean的区别

    * BeanFactory是Spring IoC容器的核心接口,而FactoryBean是一个特殊的Bean。 * BeanFactory提供了Bean的实例化、管理和依赖注入等功能,而FactoryBean可以生成其他Bean的实例。 * BeanFactory是Singleton的,而...

    Spring 框架的设计理念与设计模式分析

    通过对Spring框架的设计理念与设计模式的深入分析,我们可以看到Spring框架是如何通过合理的设计和使用多种设计模式来构建一个强大、灵活且可扩展的开发平台的。这些设计理念和模式不仅适用于Spring框架本身,也为...

    深入了解Spring中的FactoryBean

    它是一个接口,提供了一个createInstance()方法,用于创建对象实例。FactoryBean的主要作用是提供一种灵活的方式来创建和管理对象实例,特别是在复杂的业务系统中。 二、FactoryBean和BeanFactory的区别 ...

    spring如何通过FactoryBean配置Bean

    接下来,我们定义了一个 CarFactoryBean 类,该类实现了 FactoryBean 接口: ```java public class CarFactoryBean implements FactoryBean&lt;Car&gt; { private String name; public void setName(String name) { ...

    SpringFactoryBean:spring FactoryBean的样本,在运行时在两个bean之间进行更改

    在Spring框架中,`FactoryBean`是一个非常重要的接口,它允许开发者自定义bean的创建逻辑。这个接口使得Spring容器能够根据特定的工厂方法来实例化对象,而不是通过默认的构造函数。`SpringFactoryBean`的例子在处理...

    Spring BeanFactory和FactoryBean区别解析

    相比之下,FactoryBean是一个特殊的bean,它可以返回bean的实例的工厂bean,通过实现该接口可以对bean进行一些额外的操作,例如根据不同的配置类型返回不同类型的bean,简化xml配置等。在使用上也有些特殊,...

    68-BeanFactory与FactoryBean1

    在 Spring 中,FactoryBean 是一个特殊的 Bean,它实现了 FactoryBean 接口,该接口提供了 getObject() 方法来返回实例化后的对象。当我们在配置文件中配置了 FactoryBean 时,getBean() 方法返回的对象实际上是 ...

    FactoryBean.zip

    在Spring框架中,`FactoryBean`是一个至关重要的接口,它为Spring容器提供了创建对象的自定义逻辑。`FactoryBean`的使用使得我们可以控制对象的创建过程,甚至可以在对象被Spring管理的同时,添加额外的初始化或者...

    Java EE设计模式:Spring企业级开发最佳实践

    在 Spring 中,BeanFactory 是一个工厂接口,提供了获取 Bean 实例的方式,开发者可以通过实现 FactoryBean 接口来定制Bean的创建过程。 3.Observer Pattern:观察者模式,定义对象之间的一种一对多的依赖关系,一...

    mybatis,mybatis-spring

    - MapperFactoryBean:实现了Spring的FactoryBean接口,为每个Mapper接口创建一个代理对象,调用Mapper接口的方法时,会自动执行对应的SQL。 4. **MyBatis-Spring的使用** - 配置:在Spring配置文件中添加...

    mybatis-spring-1.3.3.jar官方下载

    MyBatis-Spring 是一个将 MyBatis ORM 框架与 Spring 框架集成的库,使得在 Spring 应用中使用 MyBatis 变得更加方便。mybatis-spring-1.3.3.jar 文件是这个集成库的一个版本,提供了对 MyBatis 1.3.3 和 Spring 的...

Global site tag (gtag.js) - Google Analytics