ioc就是通過容器來實現物件的裝配與管理,當下比較流行的主要有兩種實現方式:依賴注入和依賴查詢。
怎麼去理解依賴注入呢?也就是我們在邏輯**中假如要使用到乙個物件student,此時我們不用new乙個student,我們只需要在配置檔案中宣告載入到容器中,通過容器將student給呼叫者。
接下來看看如何使用ioc。先給出整個專案目錄:
首先我們匯入四個基本jar包,然後匯入三個日誌相關的jar包
先看介面:
package com.fdd.service;
public inte***ce isomeservice
實體類如下:
package com.fdd.service;
public class someserviceimpl implements isomeservice
}
<?xml version="1.0" encoding="utf-8"?>
用於定義乙個例項物件,乙個例項對應乙個bean元素
@test
public void test02()
執行結果如下
//建立容器物件,記載spring配置檔案,會從類路徑下面查詢檔案也就是src下面
如果配置檔案在本地磁碟的其他路徑,或者是放在專案的根路徑下面。那麼使用下面這種方式來實現
//建立容器物件,記載spring配置檔案,會從專案路徑下面查詢檔案也就是src同級目錄
其實現方式可以這個樣:
@test雖然這兩個介面容器載入的是同乙個spring配置檔案。但是在**中這兩個容器物件卻不是同乙個物件,也不是同乙個容器:這是因為他們對於容器內物件的裝配時機是不一樣的。public void test03()
在測試兩個容器物件的裝配時機的時候需要注意,需要在someserviceimpl類的無參構造器中新增乙個輸出語句。以顯示是否執行:
package com.fdd.service;
public class someserviceimpl implements isomeservice
public void dosome()
}
beanfactory容器,對容器中物件的裝配與載入採用延遲載入策略,也就是在第一次呼叫getbean()時,才真正的裝配該物件。 Spring基礎 2 IOC註解
xmlns xmlns xsi xmlns context xsi schemalocation spring beans.xsd spring context.xsd beans 掃瞄該包下的所有元件 component value userservice 相當於在xml的配置方式中 class ...
Spring入門(2)IOC賦值
public person string lastname,integer age,string gender 使用constructor arg來賦值 person03 class com.atguigu.bean.person 呼叫有參構造器進行建立物件並賦值 掌握 lastname value...
Spring學習筆記(一) IoC之DI
spring的乙個核心概念就是ioc,所謂ioc,即inversion of control,中文譯為控制反轉。其核心思想即高層模組要依賴於抽象,而不是依賴於底層模組,換句話說,也就是實現必需依賴於抽象,而不是抽象依賴於實現。這裡所說的高層模組是指與業務相聯絡的模組。而低層模組是指與底層實現相聯絡的...