天天看點

【Spring】Spring中IOC控制反轉一、認識IOC二、IOC底層原理三、IOC接口(BeanFactory)四、IOC和DI差別

【Spring系列】IOC控制反轉

【Spring系列】IOC操作bean管理(一)——bean管理執行個體詳解

【Spring系列】IOC操作bean管理(二)——bean的生命周期、作用域

【Spring系列】IOC操作bean管理(三)——xml自動裝配

【Spring系列】IOC操作bean管理(四)——引入外部屬性檔案

【Spring系列】IOC操作bean管理(五)——bean管理注解

【Spring系列】AOP詳解

【Spring系列】JdbcTemplate操作資料庫詳解

【Spring系列】spring事務配置詳解

【Spring系列】spring5架構新特性

文章目錄

  • 一、認識IOC
    • (1)是什麼
    • (2)作用
  • 二、IOC底層原理
  • 三、IOC接口(BeanFactory)
  • 四、IOC和DI差別

一、認識IOC

(1)是什麼

控制反轉(Inversion Of Control),把對象的建立 和 對象之間的調用過程,交給Spring進行管理;

控制反轉是面向對象程式設計中的一種設計原則,可以用來減低計算機代碼之間的耦合度。

其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI),還有一種方式叫“依賴查找”(Dependency Lookup)。

通過控制反轉,對象在被建立的時候,由一個調控系統内所有對象的外界實體将其所依賴的對象的引用傳遞給它。也可以說,依賴被注入到對象中。

(2)作用

  • 降低耦合度
  • 可維護性好
  • 可複用性好

二、IOC底層原理

(1)xml解析

(2)工廠模式

  • 工廠模式需要建立工廠類,建立傳回需要對象,
  • 工廠模式:靜态工廠和執行個體工廠

(3)反射

三、IOC接口(BeanFactory)

1、IOC思想基于IOC容器完成,IOC容器底層就是對象工廠

2、Spring提供IOC容器實作兩種方式:(兩個接口)

(1)BeanFactory: IOC容器基本實作,是Spring内部的使用接口。

  • 不提供開發人員進行使用;
  • 加載配置檔案時候不會建立對象,在擷取對象(使用)才去建立對象

(2)ApplicationContext: BeanFactory接口的子接口,提供更多更強大的功能。

  • 一般由開發人員進行使用;
  • 加載配置檔案時候就會把在配置檔案對象進行建立

3、 ApplicationContext接口有實作類

【Spring】Spring中IOC控制反轉一、認識IOC二、IOC底層原理三、IOC接口(BeanFactory)四、IOC和DI差別

四、IOC和DI差別

(1) ioc是控制反轉,ioc負責建立對象和管理對象之間關系;

(2)di是依賴注入,注入屬性;

(3)di需要在ioc基礎之上完成,注入屬性首先需要建立對象;