1. 程式人生 > 實用技巧 >三、Spring原始碼解讀 --- IOC容器解析

三、Spring原始碼解讀 --- IOC容器解析

三、Spring IOC 解析

  • 在準備階段做的操作,是為了提高框架的可擴充套件性。

  • Spring提供的框架可擴充套件性?

    • 在物件建立之前新增某些功能。
    • 在容器初始化之前新增某些功能。
    • 通過監聽器。在不同的階段發生不同的事件,完成一些功能。(觀察者模式)
    • 抽象出一堆介面,進行擴充套件。
    • 面向介面程式設計。

IOC與DI的關係

IOC (Inversion Of Control)是控制反轉,也被稱為DI(Dependency Injection)依賴注入。他是物件定義其依賴關係的過程。物件只
和構造引數,工廠方法引數,物件例項屬性或工廠方法返回相關。

(一)重要介面

  1. BeanFactory: 能管理任何型別的物件。提供了配置框架和基本功能。
  2. ApplicationContext:表示Spring IoC容器,並負責例項化、配置和組裝bean。

在這裡插入圖片描述

(二)配置元資料(Configuration Metadata)

定義:程式設計師告訴Spring容器在應用程式中怎樣例項化、配置和組裝物件。即配置檔案。

配置元資料有三種形式:XML形式、註解形式、Java配置類(需要藉助 @Configuration, @Bean, @Import, 和 @DependsOn 這幾個註解)。