Spring FactoryBean应用

Spring 中有两种类型的Bean,一种是普通Bean,另一种是工厂Bean 即 FactoryBean。FactoryBean跟普通Bean不同,其返回的对象不是指定类的一个实例,而是该FactoryBean的getObject方法所返回的对象。本文简单分析工厂FactoryBean的用法。FactoryBean接口定义

package org.springframework.beans.factory;

    public interface FactoryBean {
        T getObject() throws Exception;
    
        Class getObjectType();
    
        boolean isSingleton();
    }

应用场景
FactoryBean 通常是用来创建比较复杂的bean,一般的bean 直接用xml配置即可,但如果一个bean的创建过程中涉及到很多其他的bean 和复杂的逻辑,用xml配置比较困难,这时可以考虑FactoryBean。

应用案例
很多开源项目在集成Spring 时都使用到FactoryBean,比如 MyBatis3 提供 mybatis-spring项目中的SqlSessionFactoryBean

实践
我们可以将常用的网络工具类httpClient包装为一个FactoryBean来使用,这样我们可以通过配置文件直观的设置超时时间,连接池大小等属性。

你可能感兴趣的:(Spring,Framework)