Spring的使用(一) IOC與DI

2021-10-06 09:17:38 字數 2326 閱讀 6141

ioc(inversion of control) 控制反轉,將**的控制權轉移,從**本身轉移到spring容器中,由spring容器進行控制。

實現步驟:

獲取spring容器

在容器中註冊響應的bean

獲取容器中已經註冊的bean

io(dependency injection)依賴注入,當容器中的某乙個bean物件需要外部另外乙個bean物件的時候,我們不需要例項化這個物件,只要依賴容器注入就可以。

注入方式:

構造器注入

public

class

userservice

implements

iuserservice

}

set屬性注入

public

class

userserviceimpl

implements

iuserservice

}

使用命名空間

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

介面注入(使用factorybean介面)

bean的建立不是由**開發者去建立,轉由spring容器去建立

建立好了之後用鍵值對的方式存在容器中 beanfactory

拿到的beanconfig getbean方法通過beanconfig中的classname反射生成bean物件

new();

new();

springmvc採用***自動建立存放在servletcontext中

web.xml

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

xmlns:xsi=""

version="4.0">

org.springframework.web.context.contextloaderlistener

contextconfiglocation

//從web容器中獲取spring容器

//1.通過servletcontext中獲取容器

//2.使用工具類獲取spring容器.

(this

.getservletcontext()

);

無參構造器裝配(構造器與set屬性注入常使用)

a.存在這個bean,並且這個bean一定要有無參的建構函式

b.在spring容器中配置這個bean,配置id和class屬性即可

靜態工廠方法裝配

public

class

daofactory

}

動態工廠方法注入

public

class

daofactory

}

factorybean方式(使用介面注入的裝配方式)

public

class

testbeanfactory

implements

factorybean

@override

public class<

?>

getobjecttype()

@override

public

boolean

issingleton()

}

在配置檔案中設定bean的作用域 scope=「singleton」

執行銷毀

只有單例的才能手動銷毀

主動銷毀容器才能執行銷毀方法

list set map properties spring自帶4個標籤支援 list set map props

list set 子標籤是value,map子標籤entry(key value),props子標籤是prop(key,值寫在標籤中)

注入其他類的屬性 spel表示式 #{}

獲取容器的時候引數採用陣列的方式,有幾個配置檔案,就傳入幾個引數

在乙個總配置檔案中引入其他的配置檔案

spring學習筆記一 IOC配置使用

1.bean的命名 每個bean可以有乙個或多個id 或稱之為識別符號或名字 在這裡我們把 第乙個id稱為 識別符號 其餘id叫做 別名 這些id在ioc容器中必須唯一。如何為bean指定id呢,有以下幾種方式 一 不指定id,只配置必須的全限定類名,由ioc容器為其生成乙個標識,客戶端必須通過介面...

Spring總結一 IOC與Bean注入

spring 的核心是控制反轉 ioc 和面向切面 aop ioc即inversion of control,翻譯過來就是控制反轉。啥是控制反轉啊?控制反轉指的就是將物件的建立權反轉給 交給 了spring,其作用是實現了程式的解耦合。也可以說是獲取物件的方式變了,物件建立的控制權不是 使用者 而是...

Spring的IoC與DI差異

一 ioc ioc,全稱為inversion of control,即控制反轉。ioc是依賴倒置原則的一種 設計思想,把建立物件的權利交給框架,是框架的重要特徵。其包括依賴注入 dependency injection,簡稱di 和依賴查詢 dependency lookup ioc有兩個重點,一是...