三、Spring原始碼解讀 --- IOC容器解析
阿新 • • 發佈:2020-10-23
三、Spring IOC 解析
-
在準備階段做的操作,是為了提高框架的可擴充套件性。
-
Spring提供的框架可擴充套件性?
- 在物件建立之前新增某些功能。
- 在容器初始化之前新增某些功能。
- 通過監聽器。在不同的階段發生不同的事件,完成一些功能。(觀察者模式)
- 抽象出一堆介面,進行擴充套件。
- 面向介面程式設計。
IOC與DI的關係
IOC (Inversion Of Control)是控制反轉,也被稱為DI(Dependency Injection)依賴注入。他是物件定義其依賴關係的過程。物件只
和構造引數,工廠方法引數,物件例項屬性或工廠方法返回相關。
(一)重要介面
- BeanFactory: 能管理任何型別的物件。提供了配置框架和基本功能。
- ApplicationContext:表示Spring IoC容器,並負責例項化、配置和組裝bean。
(二)配置元資料(Configuration Metadata)
定義:程式設計師告訴Spring容器在應用程式中怎樣例項化、配置和組裝物件。即配置檔案。
配置元資料有三種形式:XML形式、註解形式、Java配置類(需要藉助 @Configuration
, @Bean
, @Import
, 和 @DependsOn
這幾個註解)。