1、BeanFactory 介紹 1.1 首先什麼是Bean? 1、Bean在Spring技術中是基於組件 2、他是Spring容器管理的最基本最常見的單元。在spring的應用場合中,bean可以是數據源、java的普通類 3、其實例保存在Spring的容器中,這種方式也是spring的核心思想所 ...
1、BeanFactory 介紹
1.1 首先什麼是Bean?
1、Bean在Spring技術中是基於組件
2、他是Spring容器管理的最基本最常見的單元。在spring的應用場合中,bean可以是數據源、java的普通類
3、其實例保存在Spring的容器中,這種方式也是spring的核心思想所在
Bean通常被定義在配置文件中,bean的實例化由spring的ioc容器進行管理。
Bean的實例可以通過beanFactory進行訪問,實際上大部分的j2ee的應用,bean是通過applicationContext來訪問的。ApplicationContext是beanFactory的子介面,其 功能要比beanFactory強大的多
1.2 什麼是BeanFactory?
Spring容器有一個被稱為beanFactory的介面,被稱為spring上下文,他是產生bean的工廠,是spring依賴註入的核心。
1.3 BeanFactory的作用:
1、用於配置、創建以及管理Bean對象
2、維持Bean對象之間的依賴關係
3、負責Bean對象的生命周期
BeanFactory的常用方法
1、containsBean(string beanname) :判斷是否存在某個bean對象
2、getBean(string beanname):返回bean對象
BeanFactory有很多的實現類,但通常我們使用XmlBeanFactory類
如:
2、ApplicationContext
對於J2EE程式的開發,建議使用applicationContext,他是beanFactory的子介面。
1、讀取Bean定義文件
2、維護Bean之間的依賴關係
3、國際化的支持
4、資源訪問
5、事件傳播
6、多配置文件的載入
3、Bean定義
3.1 配置文件
1、<beans/>是Spring配置文件的根節點
2、一個<beans/>節點裡面有多個<bean>節點
3.2 定義bean節點時通常要指定兩個屬性
1、id
2、Class
3.3 bean在Spring容器中有兩種行為
1、singleton
2、non-singleton
當設置bean的行為是單例是就是單例,設置非單例時就是非單例。
4、創建Bean
4.1 Bean的查找機制
Spring容器查找某個bean對象時,首先根據bean的id查找,如果id屬性不存在,則根據name屬性查找,如果name屬性也不存在,則會根據類的名稱進行查找
4.2 Bean的別名
為了提供多個名稱, 通過alias屬性指定別名。
所有的名稱實際上都指向了同一個bean。
Fromname用於指定關聯的bean的名稱
Toname是該關聯類的別名名稱
4.2 Bean的創建步驟
註入屬性
如果bean的屬性需要註入另一個bean的實例,要使用ref元素
註入屬性是集合的情況