spring的配置一(bean的配置)

學習筆記

一、spring是一個來源的控制反轉(Inversion of Control,IOC)和麪向切面編程(AOP)的容器框架,它的主要目的是簡化企業開發。

二、什麼是IOC

控制反轉IOC:應用本身不負責依賴對象的創建和維護,依賴對象的創建和維護有外部容器負責,這樣控制權有應用轉移到了外部容器,控制權的轉移。

解釋:不要在通過new關鍵字來實例化對象,實例化對象的過程交由spring(外部容器)來管理,spring(外部容器)會在你使用到該類的對象時候自動幫你創建。這就是所謂的控制反轉。

依賴注入(DI):是一種實現方式,由IOC容器在運行期間,動態的將某種依賴關係注入到對象之中。

目的:創建對象並且組裝對象之間的關係。

解釋:IOC容器在初始化時創建一系列的對象,把對象之間的關係通過注入的方式組織起來。

三、Spring的bean配置

在IOC容器中將所有的控制對象稱作bean,Spring對於bean的使用有兩種方式:配置和註解。

applicationContext.xml中關於bean的配置:

<bean id="(自定義)" class="配置的實現類"></bean>

例:<bean id="u" class="com.bean.User"></bean>

注:

(1)id和class屬性,class屬性是必須的,如果其他文件中包含了Bean則id屬性是必須。

(2)可以有那麼屬性,name定義的是bean的別名,可以有多個,並可能與其他的bean重名。

(3)id和name的區別:

①id用來標識bean,是唯一的,且只有一個。name定義的是bean的別名,可以有多個。

②id不能用特殊字符:×#@ ,不能用數字開頭。在bean引用的時候只能用id指向你需要的bean。

name可以用特殊字符,並且一個bean可以用多個名稱:name=“bean1,bean2,bean3”,用逗號隔開。

③通過id和name都可以取出該Bean.

④配置文件中不允許出現兩個id相同的,否則在初始化時即會報錯.但配置文件中允許出現兩個name相同的,在用getBean()返回實例時,後面一個Bean被返回,應該是前面那個被後面同名的覆蓋了。

爲了避免不經意的同名覆蓋的現象,儘量用id屬性而不要用name屬性。

四、實例化beanFactory

Web容器中用戶不需要實例化beanfactory,web程序會自動實例化BeanFactory,並加載所有的Bean資源。但是在java工程下面我們依然需要手工加載配置文件的

ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

或者

Resource rc = new ClassPathResource("applicationContext.xml");
BeanFactory factory = new XmlBeanFactory(rc);


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