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檔案配置的方式,大...