ioc----控制反轉 意思就是將物件的建立權力交給spring 提前在spring容器中構建好了spring物件,如此我們可以通過spring 容器直接呼叫getbean("name屬性或者id名稱」)----》獲取對應的物件
將來我們可以從classpath目錄下載入到我們的spring主配置檔案.
凡是交給spring容器管理的物件,都可以通過bean元素進行配置,spring的本質就是物件管理容器,就是拿來管理物件的,底層就是使用map來儲存物件的.
"userdao"
class
="com.zhiyou100.dao.impl.userdaoimpl"
>
bean
>
1.空參構造
bean元素的建立,預設就是採用空參構造來的,如果沒有空參構造,那麼就會報錯
空參構造分為單例模式和多例模式
單例模式:乙個物件被建立,呼叫多少次都是同乙個物件 bean中加屬性scope=singleton
多例模式:乙個物件被建立,每使用一次就呼叫一次 bean中加屬性scope=prototype
**演示
"user"
class
="com.zhiyou100.pojo.user"
scope
="singleton"
>
bean
>
"user1"
class
="com.zhiyou100.pojo.user"
scope
="prototype"
>
bean
>
初始化:init-method()
先初始化在建立物件
銷毀:destroy-method()
第一:長期不使用就會自動銷毀
第二:容器銷毀或者關閉的時候,儲存在容器裡面的bean物件就會銷毀
bean元素是交給spring來管理的,如果吧bean元素的scope設定為多例模式,那麼就只關產生不管銷毀
"user2"
class
="com.zhiyou100.pojo.user"
init-method
="inituser"
destroy-method
="destroyuser"
>
bean
>
2.物件建立第二種方式:靜態工廠方式
"userstatic"
class
="com.zhiyou100.pojo.beanfactory"
factory-method
="getstaticbean"
>
bean
>
3.物件建立第三種方式:例項工廠方式
name
="userbeanfactory"
class
="com.zhiyou100.pojo.beanfactory"
>
bean
>
name
="use***ctory"
factory-bean
="userbeanfactory"
factory-method
="getuser"
>
bean
>
scope 範圍區域的意思 spring中,作用是設定bean元素建立物件的方式
//寫上全參,無參,set get tostring
public
class
user
implements
serializable
//成員方法
public user getuser()
user測試類
public
class
beancreatetest
/** * 靜態工廠方式建立bean元素
*/@test
public
void
teststaticbean()
/** * 例項工廠方式建立bean元素
*/@test
public
void
testinstancebean()
/** * 單例模式下,。建立bean元素,
*/@test
public
void
testsingletn()
/** * 多例模式下,。建立bean元素,
*/@test
public
void
testprototype()
Spring 控制反轉IoC
1,ioc理論背景 在使用物件導向語言開發的系統中,不同物件之間相互協作得以實現業務邏輯。就像是一塊機械手錶,通過不同齒輪的協作,讓時針 分針 秒針精確的執行。如果乙個齒輪發生故障,那麼整塊手錶的功能就要受到影響。手錶齒輪之間的關係和軟體系統中物件的耦合關係很相似。物件之間的耦合關係是必要的,也是無...
Spring之控制反轉(IOC)
目錄 0.面向介面程式設計思想 1.依賴倒置原則與好萊塢原則 2.控制反轉 3.依賴注入 4.spring是如何實現依賴注入的?4.1 beanfactory 4.2 factorybean 面向介面程式設計 不針對實現程式設計,針對超型別程式設計。超型別包括繼承和多型。而依賴倒置原則與好萊塢原則可...
spring框架 IOC控制反轉
spring的核心機制 ioc,通常被稱為控制反轉,是一種設計思想,對於某個具體的物件而言,以前是它控制其他物件,現在是所有物件都被spring控制,所以這叫控制反轉。ioc的乙個重點是在系統執行中,動態的向某個物件提供它所需要的其他物件。這一點是通過di dependency injection,...