亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

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

1.前言

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

而一個類中的屬性,可能會多種多樣。那么,xml 配置文件如何實現其余類型的屬性注入呢?

我們進入本節的學習內容。

2. 多種類型依賴注入

2.1屬性類型分類

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

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

2.2 工程搭建:

搭建工程,引入依賴,配置文件步驟省略,參考上一個章節的工程自行實現

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

代碼如下:

public class User {

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

}

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

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

配置文件如下:

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

配置解釋:

在上面的配置文件中:

  • property 中的 name 是Java 類中數組的屬性名稱,用于 set 方法提供注入;
  • array標簽是固定的,不能變化,表示屬性是一個數組,所以加在了 property 的屬性內部;
  • value 表示數組中的值,因為數組可以存儲多個值,所以每一個數組的值,通過一個 value 標簽聲明。

測試結果
圖片描述

代碼解釋

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

3.集合的屬性注入

改造 xml 的配置文件,實現 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 類中數組的屬性名稱 用于 set 方法提供注入;
  • list 標簽是固定的,不能變化,表示屬性是一個 list 集合 ,所以加在了 property 的屬性內部;
  • value 表示集合中的值,因為集合可以存儲多個值,所以每一個集合中的值,通過一個 value 標簽聲明。

測試結果如下:

圖片描述

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

4.map集合的注入實現

繼續更改 xml 文件的配置 ,如下:

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

配置解釋:

在上面的配置文件中:

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

測試結果如下:

圖片描述

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

3.小結

本節重點依賴注入的 xml 實現多種屬性的注入。其實對于本節而言,重點還是理解 xml 文件依賴注入的方式,是通過 property 標簽,搭配各個標簽節點實現。

至于開發中使用方式,其實 xml文件的配置未免顯得麻煩了一點,所以下一節我們會講解通過注解方式進行依賴注入。

才須學也。非學無以廣才,非志無以成學。