spring作為一種輕量級的bean容器解決方案,核心解決的問題是bean的建立方式及bean依賴關係的注入。
spring中構造bean的例項一共有三種方法:(1)通過構造器構造例項。(2)使用靜態的工廠方法構造
bean例項。(3)通過例項工廠方法構造bean例項.在絕大多數情況下,spring是通過new的方式(構造器方式)
構造出bean的例項。比較少的情況下則是通過靜態的工廠方法或者例項工廠方法構造bean的例項。本文
主要對這三種構造例項的方法做乙個評述,期望作拋磚引玉之用:
(1)通過構造方法構造bean例項:
這種方法是spring中提倡使用的一種構造bean例項的方法.這種方法可能要求被構造例項的類提供乙個空的
構造器.在xmlbeanfactory中構造例項的乙個例子如下:
(2)通過靜態工廠方法構造bean的例項:
當使用靜態工廠方法構造bean例項時,class屬性是包含了靜態工廠方法的類,同時還需要屬性factory-method指
明建立例項的靜態工廠方法名.這個構造的例項並不一定是class屬性指明的類的例項.它可以是其它類的例項.
spring在構造例項時會自動呼叫靜態的工廠方法.下面是乙個bean定義的例子.
上述例子中, 包含靜態工廠方法的類是beans.factory, 工廠方法是getproduct,spring在構造product1例項時會
通過呼叫beans.factory中的getproduct構造出product1這種方法可以給使用者使用bean呼叫遺留(legacy)**
中的方法
(3)通過例項工廠方法構造bean的例項:
這種方法和使用靜態工廠方法構造例項類似,通過呼叫乙個bean(該bean的類包含了用來建立例項的工廠方
法)的工廠方法構造bean的例項。這裡需要注意的是:需要被構造例項的bean類在配置檔案中不需要class屬
性,但是需要通過factory-bean屬性指明用來建立該bean的工廠bean。並且用factory-method屬性指明例項工廠
方法。下面是乙個例子:
上述三種構造bean例項的方法,spring提倡使用第一種方式.後面兩種方法可以在構造遺留**中的bean例項
時使用.
Spring中Bean的例項化
spring中bean的例項化 在介紹bean的三種例項化的方式之前,我們首先需要介紹一下什麼是bean,以及bean的配置方式。如果把spring看作乙個大型工廠,那麼spring容器中的bean就是該工廠的產品。要想使用spring工廠生產和管理bean,就需要在配置檔案中指明需要哪些bean,...
Spring中bean的例項化
我們可以使用普通構造方法建立 靜態工廠建立 例項工廠建立三種方式來例項化bean。普通構造方法建立 直接配置bean節點即可 public class user 然後通過簡單配置乙個bean節點即可獲取例項 靜態工廠建立 public class user2 建立乙個靜態工廠 public clas...
Spring內部bean例項
使用情形 在spring框架中,bean a只作為另外乙個bean b的屬性,那麼可以把a作為b的內部bean例項。內部bean例項支援setter注入和構造器注入。cat物件是animaser物件的乙個內部bean例項 animaser類 public class animalser public...