Spring學習筆記之IOC和DI 概述

2021-07-25 06:54:29 字數 1014 閱讀 3244

ioc(inversion of control):其思想是反轉資源獲取的方向. 傳統的資源查詢方式要求元件向容器發起請求查詢資源. 作為回應, 容器適時的返回資源. 而應用了 ioc 之後, 則是容器主動地將資源推送給它所管理的元件, 元件所要做的僅是選擇一種合適的方式來接受資源. 這種行為也被稱為查詢的被動形式

di(dependency injection) — ioc 的另一種表述方式:即元件以一些預先定義好的方式(例如: setter 方法)接受來自如容器的資源注入. 相對於 ioc 而言,這種表述更直接

舉例:現在有乙個需求,從容器中獲取 b 物件,並使 b 物件的 a 屬性被賦值為容器中 a 物件的引用

class a{}

class b

}傳統的方式:

而ioc容器方式:

需求: 生成 html 或 pdf 格式的不同型別的報表

1.ioc前生 -- 分離介面與實現

service需要知道介面以及每個實現類的細節,耦合度高

2.ioc前生 -- 採用工廠設計模式

service需要知道介面的型別,同時指向工廠,工廠生成介面的實現類,耦合度降低,但**量比較複雜

3.ioc -- 採用反轉控制

service需要用到什麼,container就往service注入什麼,使開發變得簡便

Spring之IOC 學習筆記

ioc ioc理論的背景 依賴注入 di ioc的好處 ioc的通俗理解 ioc ioc inversionof control,控制反轉 是 spring 的核心,貫穿始終。所謂 ioc,對於 spring 框架來說,就是由 spring 來負責控制物件的生命週期和物件的關係 傳統開發模式 物件之...

Spring學習筆記 IoC

getbean 方法 引數為class時要保證配置檔案中bean唯一 構造器注入 通過constructor arg節點注入 工廠方法注入 很少使用 繼承 通過在bean中新增屬性parent指定繼承的父bean,也可以忽略父 bean 的 class 屬性,此時 abstract屬性 必須設為 t...

spring學習之 IOC和DI

ioc即控制反轉,意思是將本來該又呼叫者自己建立的物件,交由spring去建立。di即依賴注入,意思是,物件之中包含的屬性有物件的,那麼會在spring中尋找到匹配的物件並賦值給它。ioc和di含義相同,只是同一概念兩種角度的描述。1.匯入相應的基礎jar包,包括四個核心jar包,和乙個第三方依賴包...