Spring 中 FactoryBean 的使用

許久沒記錄筆記了,這回來重新熟悉一下 Spring 中 FactoryBean 的使用,顧名思義,它是用來獲得相應 Bean 的工廠的。它與另一個 Spring 中的接口 BeanFactory 的作用不一樣的,不能多說了。FactoryBean 和 BeanFactory 都是在 org.springframework.beans.factory 包中,誰能一看類名搞清楚它們的差別?

  1. FactoryBean: 用於創建某個特定的 Spring bean 的工廠類
  2. BeanFactory: Spring 上下文的最頂層接口,如 ApplicationContext 就繼承了該接口,它可稱之爲所有 Spring bean 的工廠

這兒說的是第一個 FactoryBean, 它的接口聲明是

 

1

2

3

4

5

public interface FactoryBean<T> {

    T getObject() throws Exception;

    Class<?> getObjectType();

    boolean isSingleton();

}

 

它最終的效果是,Spring 容器中註冊一個名稱爲 abcFactoryBean 的 AbcFactoryBean 實例,通後名稱 abcFactoryBean 獲得的實際上是相應 AbcFactoryBean.getObject() 返回的對象,類型爲 getObjectType()isSingleton() 是否是單例。 閱讀全文 >>

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