国产日产欧产精品网站|2022仙踪林官网老狼信息|天天澡天天揉揉Av在线|国产精品成人久久久久久久

Spring框架

第2章 ?IOC容器和Bean的配置

2.1 IOC和DI

2.1.1 IOC(Inversion of Control):反轉控制

在應用程序中的組件需要獲取資源時,傳統的方式是組件主動的從容器中獲取所需要的資源,在這樣的模式下開發人員往往需要知道在具體容器中特定資源的獲取方式,增加了學習成本,同時降低了開發效率。

反轉控制的思想完全顛覆了應用程序組件獲取資源的傳統方式:反轉了資源的獲取方向——改由容器主動的將資源推送給需要的組件,開發人員不需要知道容器是如何創建資源對象的,只需要提供接收資源的方式即可,極大的降低了學習成本,提高了開發的效率。這種行為也稱為查找的被動形式。

 

2.1.2 DI(Dependency Injection):依賴注入

IOC的另一種表述方式:即組件以一些預先定義好的方式(例如:setter 方法)接受來自于容器的資源注入。相對于IOC而言,這種表述更直接。

2.1.3 IOC容器在Spring中的實現

1)在通過IOC容器讀取Bean的實例之前,需要先將IOC容器本身實例化。

2)Spring提供了IOC容器的兩種實現方式

① BeanFactory:IOC容器的基本實現,是Spring內部的基礎設施,是面向Spring本身的,不是提供給開發人員使用的。

② ApplicationContext:BeanFactory的子接口,提供了更多高級特性。面向Spring的使用者,幾乎所有場合都使用ApplicationContext而不是底層的BeanFactory。

 

2.1.4 ApplicationContext的主要實現類

  • ClassPathXmlApplicationContext:對應類路徑下的XML格式的配置文件
  • FileSystemXmlApplicationContext:對應文件系統中的XML格式的配置文件
  • 在初始化時就創建單例的bean,也可以通過配置的方式指定創建的Bean是多實例的。

 

2.1.5 ConfigurableApplicationContext

  • 是ApplicationContext的子接口,包含一些擴展方法
  • refresh()和close()讓ApplicationContext具有啟動、關閉和刷新上下文的能力。

 

2.1.6 WebApplicationContext

  • 專門為WEB應用而準備的,它允許從相對于WEB根目錄的路徑中完成初始化工作

 

泰和县| 拜泉县| 南部县| 定南县| 遂溪县| 华宁县| 洛南县| 亚东县| 巨野县| 南涧| 德格县| 恩施市| 南城县| 东乡| 焦作市| 泾源县| 大冶市| 睢宁县| 兰州市| 广饶县| 昂仁县| 顺义区| 凉城县| 潍坊市| 内黄县| 彭州市| 广汉市| 雅安市| 永兴县| 宣恩县| 瑞昌市| 铜山县| 静乐县| 肥乡县| 定州市| 正蓝旗| 正定县| 金昌市| 雅江县| 乌拉特中旗| 元氏县|