第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Spring 入門教程 Spring 入門教程 Spring DI(依賴注入)之多種類型屬性

Spring DI(依賴注入)之多種類型屬性

1.前言

上一節(jié),我們演示了如何使用 xml 文件配置,實(shí)現(xiàn)屬性的依賴注入。但是,注入的依賴類型只是作為演示使用的兩種,

而一個(gè)類中的屬性,可能會(huì)多種多樣。那么,xml 配置文件如何實(shí)現(xiàn)其余類型的屬性注入呢?

我們進(jìn)入本節(jié)的學(xué)習(xí)內(nèi)容。

2. 多種類型依賴注入

2.1屬性類型分類

  • 基本類型包裝類,比如 Integer、Double、Boolean;
  • 字符串類型,比如 String;
  • 類類型,比如 其余定義的 java 類;
  • 集合類型,比如 map、set、list 。

對(duì)于基本類型和字符串類型,在 xml 的配置文件中,通過 value 屬性即可以復(fù)制,我們上個(gè)案例已經(jīng)測試過,這里不做贅述,主要演示集合類型的屬性注入測試。

2.2 工程搭建:

搭建工程,引入依賴,配置文件步驟省略,參考上一個(gè)章節(jié)的工程自行實(shí)現(xiàn)

1. 編寫一個(gè)java類,屬性為多種類型的集合

代碼如下:

public class User {

private Integer id;
private String name;
private Object [] array;
private List    list;
private Map  map;
//省略get和set方法

}

可以看到上面在同一個(gè)類中,我們定義了多個(gè)屬性, array 數(shù)組、list 和 map 集合。

2.編寫配置文件 屬性注入數(shù)組的依賴屬性

配置文件如下:

	<!-- 數(shù)組的屬性注入 -->
	<bean id="user" class="com.offcn.entity.User">
		<property name="array">
			<array>
				<value>tom</value>
				<value>jerry</value>
			</array>
		</property>
	</bean>

配置解釋:

在上面的配置文件中:

  • property 中的 name 是Java 類中數(shù)組的屬性名稱,用于 set 方法提供注入;
  • array標(biāo)簽是固定的,不能變化,表示屬性是一個(gè)數(shù)組,所以加在了 property 的屬性內(nèi)部;
  • value 表示數(shù)組中的值,因?yàn)閿?shù)組可以存儲(chǔ)多個(gè)值,所以每一個(gè)數(shù)組的值,通過一個(gè) value 標(biāo)簽聲明。

測試結(jié)果
圖片描述

代碼解釋

可以看到: 我們得到了 user 類中的 array 數(shù)組中在 xml 文件中配置的數(shù)組值,定義好的 tom 和 jerry。那么數(shù)組的依賴注入完成。

3.集合的屬性注入

改造 xml 的配置文件,實(shí)現(xiàn) list 集合的屬性配置。

	<!-- 集合的屬性注入 -->
	<bean id="user" class="com.offcn.entity.User">
		<property name="list">
			<list>
				<value>笑傲江湖</value>
				<value>俠客行</value>
				<value>連城訣</value>
			</list>
		</property>
	</bean>

配置解釋:

在上面的配置文件中:

  • property 中的 name 是 java 類中數(shù)組的屬性名稱 用于 set 方法提供注入;
  • list 標(biāo)簽是固定的,不能變化,表示屬性是一個(gè) list 集合 ,所以加在了 property 的屬性內(nèi)部;
  • value 表示集合中的值,因?yàn)榧峡梢源鎯?chǔ)多個(gè)值,所以每一個(gè)集合中的值,通過一個(gè) value 標(biāo)簽聲明。

測試結(jié)果如下:

圖片描述

同理:測試結(jié)果可以看到,list 集合中的三個(gè)數(shù)據(jù)都打印出來,那么 list 集合的 xml 依賴注入也搞定。

4.map集合的注入實(shí)現(xiàn)

繼續(xù)更改 xml 文件的配置 ,如下:

	<bean id="user" class="com.offcn.entity.User">
		<property name="map">
			<map>
				<entry key="小亮" value="小路"></entry>
				<entry key="文同學(xué)" value="伊利姐"></entry>
			</map>
		</property>
	</bean>

配置解釋:

在上面的配置文件中:

  • property 中的 name 是Java 類中map的屬性名稱,用于 set 方法提供注入;
  • map 標(biāo)簽是固定的,不能變化,表示屬性是一個(gè) map 集合 ,所以加在了 property 的屬性內(nèi)部;
  • entry 標(biāo)簽固定表示 map 中的一對(duì)鍵值對(duì),map 也可以存儲(chǔ)多對(duì),所以 key 表示鍵值對(duì)的鍵,value表示鍵值對(duì)的值。

測試結(jié)果如下:

圖片描述

map 集合注入的效果我們也看到了…當(dāng)然還有很多種類型,同理操作即可。

3.小結(jié)

本節(jié)重點(diǎn)依賴注入的 xml 實(shí)現(xiàn)多種屬性的注入。其實(shí)對(duì)于本節(jié)而言,重點(diǎn)還是理解 xml 文件依賴注入的方式,是通過 property 標(biāo)簽,搭配各個(gè)標(biāo)簽節(jié)點(diǎn)實(shí)現(xiàn)。

至于開發(fā)中使用方式,其實(shí) xml文件的配置未免顯得麻煩了一點(diǎn),所以下一節(jié)我們會(huì)講解通過注解方式進(jìn)行依賴注入。

才須學(xué)也。非學(xué)無以廣才,非志無以成學(xué)。