Spring FactoryBean應用

Spring 中有兩種類型的Bean,一種是普通Bean,另一種是工廠Bean 即 FactoryBean。FactoryBean跟普通Bean不同,其返回的對象不是指定類的一個實例,而是該FactoryBean的getObject方法所返回的對象。本文簡單分析工廠FactoryBean的用法。FactoryBean接口定義

package org.springframework.beans.factory;

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

應用場景
FactoryBean 通常是用來創建比較複雜的bean,一般的bean 直接用xml配置即可,但如果一個bean的創建過程中涉及到很多其他的bean 和複雜的邏輯,用xml配置比較困難,這時可以考慮FactoryBean。

應用案例
很多開源項目在集成Spring 時都使用到FactoryBean,比如 MyBatis3 提供 mybatis-spring項目中的SqlSessionFactoryBean

實踐
我們可以將常用的網絡工具類httpClient包裝爲一個FactoryBean來使用,這樣我們可以通過配置文件直觀的設置超時時間,連接池大小等屬性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章