spring框架 IOC控制反轉

2021-09-28 15:37:47 字數 2189 閱讀 7294

spring的核心機制——ioc,通常被稱為控制反轉,是一種設計思想,對於某個具體的物件而言,以前是它控制其他物件,現在是所有物件都被spring控制,所以這叫控制反轉。ioc的乙個重點是在系統執行中,動態的向某個物件提供它所需要的其他物件。這一點是通過di(dependency injection,依賴注入)來實現的。比如物件a需要引用物件b,以前我們總是要在a中自己編寫**來new乙個b物件,有了spring我們就只需要告訴spring,a中需要乙個b物件,至於這個b物件怎麼例項化,a不需要知道。在系統執行時,spring會在適當的時候製造乙個b物件,然後像打針一樣,注射到a當中,這樣就完成了對各個物件之間關係的控制。a需要依賴b物件才能正常執行,而這個b物件是由spring注入到a中的,依賴注入的名字就這麼來的。

org.springframework<

/groupid>

spring-context<

/artifactid>

5.1.5

.release<

/version>

<

/dependency>

<

/dependencies>

<?xml version="1.0" encoding="utf-8"?>

xmlns

=""xmlns:xsi

=""xsi:schemalocation

="/spring-beans.xsd"

>

beans

>

建立bean的三種方式
在spring 配置檔案中使用bean標籤,配以id,class屬性後,且沒有其他屬性和標籤採用的就是預設建構函式建立bean物件,此時類中必須含有預設建構函式。

"accountservice"

class

="cn.edu.cafuc.service.impl.accountserviceimpl"

>

bean

>

標籤factory-bean是指向某個物件引用,標籤factory-method指向物件中的某個方法

"instanfactory"

class

="cn.edu.cafuc.factory.instancefactory"

>

bean

>

"accountservice"

factory-bean

="instanfactory"

factory-method

="getaccountservice"

>

bean

>

"accountservice"

class

="cn.edu.cafuc.factory.staticfactory"

factory-method

="getaccountservice"

>

bean

>

bean物件的作用範圍

bean標籤中的scope標籤用於調整作用範圍

"accountservice"

class

="cn.edu.cafuc.service.impl.accountserviceimpl"

scope

="prototype"

>

bean

>

bean物件的生命週期
"accountservice"

class

="cn.edu.cafuc.service.impl.accountserviceimpl"

scope

="singleton"

init-method

="init"

destroy-method

="destroy"

>

bean

>

總結:單例物件與容器生命週期相同

Spring框架(二)IOC控制反轉

現階段裡隨著框架的深入式學習,環境的編寫越來越多,相反程式碼卻逐步縮減 匯入核心容器的四個jar包外加乙個日誌jar 到了spring這裡嘞,依然躲不過 xml 的對映,相比於mybatis環境的 dtd,spring則是改換成了dtd公升級版的 schma,從而更具擴充套件性。就像下面的一段xml...

Spring 控制反轉IoC

1,ioc理論背景 在使用物件導向語言開發的系統中,不同物件之間相互協作得以實現業務邏輯。就像是一塊機械手錶,通過不同齒輪的協作,讓時針 分針 秒針精確的執行。如果乙個齒輪發生故障,那麼整塊手錶的功能就要受到影響。手錶齒輪之間的關係和軟體系統中物件的耦合關係很相似。物件之間的耦合關係是必要的,也是無...

Spring框架IOC反轉控制和DI依賴注入

一般建物件都是用new 使用new 關鍵字,他會將層與層之間的 緊緊的連線一起 但是spring框架ioc容器用bean來進行託管物件,ioc控制反轉 是將物件例項化的過程交由spring的ioc容器來處理,當需要使用相關例項的時候,呼叫相關 返回物件即可 ioc的優點 利用xml檔案配置的方式,大...