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

首頁(yè) 慕課教程 Spring 入門(mén)教程 Spring 入門(mén)教程 Spring DI(依賴(lài)注入)之多種類(lèi)型屬性

Spring DI(依賴(lài)注入)之多種類(lèi)型屬性

1.前言

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

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

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

2. 多種類(lèi)型依賴(lài)注入

2.1屬性類(lèi)型分類(lèi)

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

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

2.2 工程搭建:

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

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

代碼如下:

public class User {

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

}

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

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

配置文件如下:

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

配置解釋?zhuān)?/strong>

在上面的配置文件中:

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

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

代碼解釋

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

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>

配置解釋?zhuān)?/strong>

在上面的配置文件中:

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

測(cè)試結(jié)果如下:

圖片描述

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

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>

配置解釋?zhuān)?/strong>

在上面的配置文件中:

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

測(cè)試結(jié)果如下:

圖片描述

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

3.小結(jié)

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

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

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