1. 程式人生 > >Spring通過FactoryBean建立bean的例項

Spring通過FactoryBean建立bean的例項

  前邊我們講了使用工廠方法建立bean的例項,即靜態工廠方法和例項工廠方法兩種方法。靜態工廠方法是在配置檔案中指向工廠方法的類然後配置factory-method直接呼叫這個工廠類中的靜態方法來返回建立的想要的bean的例項。例項工廠方法是在配置檔案中先配置一個例項工廠類的例項,然後再建立一個bean用fantory-bean屬性指向這個工廠類的例項,再使用factory-method指向這個工廠類中的普通方法,就可以創建出方法中返回的物件的例項了。下邊我們來講一講如何利用FactoryBean來建立bean的例項。

  已知的現在有三種方法基於配置檔案的方式建立bean的例項:分別是反射、工廠方法、FactoryBean。對於FactoryBean來講,這個帶泛型的介面有三個抽象方法,分別返回一個泛型型別的bean,返回一個泛型的Class,返回一個是否為單例的boolean值。我們可以建立一個它的子類並重寫這三個方法(子類實現帶泛型的介面必須提供泛型的型別

),然後在配置檔案中配置這個子類的例項就可以建立泛型型別的物件了。

  也就是說,在SpringIOC容器中通過FactoryBean實現類建立的bean實際上的例項是實現類getObject()方法中返回的泛型型別的例項。