Spring註解方式實現IOC和DI

2021-08-29 05:37:14 字數 2140 閱讀 2302

引入context命名空間:

在myeclipse中匯入spring-contextxx.xsd約束檔案,要求spring來管理。

在spring配置檔案中,開啟包掃瞄,指定spring自動掃瞄那些個包下的類。

這個包中的類會在spring容器啟動時自動被掃瞄。檢測是否需要自動配置為bean。在配置的包中的類上使用@component註解,則這個類會被自動註冊為bean,使用當前類的class為bean的class,通常情況下使用類名首字母小寫為的id。

可以使bean類實現beannameaware介面,並實現其中的setbeanname方法,spring容器會在初始化bean時,呼叫此方法告知當前bean的id。通過這個方式可以獲取bean的id資訊。

通常情況下註解註冊bean使用類名首字母小寫為bean的id,但是如果類名的第二個字母為大寫字母則首字母保留原樣。

也可以通過在@component中配置value屬性,明確的指定當前類在註冊到spring時bean的id,例如:

@component("per")(當只有乙個value時可以不寫"value=")

public class person implements beannameaware

}使用屬性註解,可以為bean配置屬性的注入過程,省去了在配置檔案中手動進行注入配置的過程

註解注入的規則:首先按屬性名字找,找不到按屬性型別找,如果屬性型別是個介面,去看有幾個實現類,如果只有乙個,那就直接注入;如果是0個或者是多個,都會拋異常

在標籤下新增標籤

來開啟在bean中的屬性上通過@autowired註解來宣告屬性注入,也可以使用@qualifier(value="cat")註解,明確的指定要注入哪個id的bean

當spring容器解析xml時,發現開啟了屬性註解,則會在建立bean時,檢測屬性上是否存在@autowired註解,如果發現該註解,則會通過當前屬性的名稱尋找是否存在該id的bean,如果存在則注入進來,如果不存在,再檢查是否存在和當前屬性型別相同的bean,如果有則注入進來,如果沒有則丟擲異常

也可以使用@resource(name="id")指定注入給定的bean,但是這種方式不建議使用

如果類中包含例如int、long、string等spring內建可注入的型別時,可以使用@value註解來注入。

例如:@value("999")

private int id;

但是這種方式將注入的值寫死在了**中,此時我們可以將這些值配置到乙個properties檔案中,再在spring中進行引入,例如:

properties檔案中:id=888

xml檔案中

具體類中:

@value("$")

private int id;

需要將集合型別的資料配置到spring配置檔案中,在通過@value引入

配置過程

將spring-util-***.xsd交給myeclipse管理

在當前spring容器的配置檔案中匯入util命名空間

再通過適當的util標籤註冊資料

v1

v2v3

v4

v1

v2v3

v4v1

@value("#")

private listaddr;

@value("#")

private setaddr;

@value("#")

private mapaddr;

@component

@scope("prototype")

public class cat

@component

@lazy

public class cat

}

@component

public class cat

@postconstruct

public void init()

@predestroy

public void destroy()  

}

註解方式配置Spring實現Ioc

1.首先需要配置spring,支援註解 加上這三句話在beans中 配置xml命名空間 xmlns context spring context 4.1.xsd 提示一下 xsd檔案,是用來約束xml檔案的語法和格式 約束xml檔案,有兩種標準 dtd dtd schema xsd 2.初始化和裝配...

通過註解方式配置Spring實現Ioc

1.首先需要配置spring,支援註解 加上這三句話在beans中 配置xml命名空間 xmlns context spring context 4.1.xsd 提示一下 xsd檔案,是用來約束xml檔案的語法和格式 約束xml檔案,有兩種標準 dtd dtd schema xsd 2.初始化和裝配...

通過註解方式配置Spring的IoC

1.背景介紹 到目前為止,採用ssh框架,環境已經配置好。2.通過註解的環境配置 1.新增命名空間 xmlns context 命名空間的特點就是ns namespace 結尾 xsd用來約束xml檔案的語法和格式。約束xml檔案格式有兩種標準 1.dtd dtd 2.schema xsd 預設的命...