标签:Map Set return Spring void Bean Elements public 注入
如果需要传递类似于 Java Collection 类型的值,例如 List、Set、Map 和 properties,可以使用 Spring 提供的集合配置标签,如下表所示。
标签 | 说明 |
---|---|
<list> | 用于注入 list 类型的值,允许重复 |
<set> | 用于注入 set 类型的值,不允许重复 |
<map> | 用于注入 key-value 的集合,其中 key-value 可以是任意类型 |
<props> | 用于注入 key-value 的集合,其中 key-value 都是字符串类型 |
一、创建CollectionTest类
package com.clzhang.spring.demo; import java.util.*; public class CollectionTest { String[] strings; List addressList; Set addressSet; Map addressMap; Properties addressProp; // 存放数组 public String[] getStrings() { System.out.println("Array Elements :" + strings); return strings; } public void setStrings(String[] strings) { this.strings = strings; } // 存放List public void setAddressList(List addressList) { this.addressList = addressList; } public List getAddressList() { System.out.println("List Elements :" + addressList); return addressList; } // 存放Set public void setAddressSet(Set addressSet) { this.addressSet = addressSet; } public Set getAddressSet() { System.out.println("Set Elements :" + addressSet); return addressSet; } // 存放Map public void setAddressMap(Map addressMap) { this.addressMap = addressMap; } public Map getAddressMap() { System.out.println("Map Elements :" + addressMap); return addressMap; } // 存放Prop public void setAddressProp(Properties addressProp) { this.addressProp = addressProp; } public Properties getAddressProp() { System.out.println("Property Elements :" + addressProp); return addressProp; } }
二、创建主程序
package com.clzhang.spring.demo; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class MainApp { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml"); CollectionTest jc = (CollectionTest) context.getBean("collectionTest"); jc.getStrings(); jc.getAddressList(); jc.getAddressSet(); jc.getAddressMap(); jc.getAddressProp(); } }
三、创建配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- Definition --> <bean id="address1" class="com.clzhang.spring.demo.Address1" /> <bean id="collectionTest" class="com.clzhang.spring.demo.CollectionTest"> <property name="strings"> <list> <value>印度</value> <value>日本</value> <value>中国</value> <value>中国</value> </list> </property> <property name="addressList"> <list> <value>印度</value> <value>日本</value> <value>中国</value> <value>中国</value> <ref bean="address1" /> </list> </property> <property name="addressSet"> <set> <value>印度</value> <value>日本</value> <value>中国</value> <value>中国</value> <ref bean="address1" /> </set> </property> <property name="addressMap"> <map> <entry key="1" value="印度" /> <entry key="2" value="日本" /> <entry key="3" value="中国" /> <entry key="4" value="中国" /> <entry key="5" value-ref="address1" /> </map> </property> <property name="addressProp"> <props> <prop key="one">印度</prop> <prop key="two">日本</prop> <prop key="three">中国</prop> <prop key="four">中国</prop> </props> </property> </bean> </beans>
四、创建注入Bean
package com.clzhang.spring.demo; public class Address1 { public String toString() { return "地址一"; } }
五、运行
Array Elements :[Ljava.lang.String;@45820e51
List Elements :[印度, 日本, 中国, 中国, 地址一]
Set Elements :[印度, 日本, 中国, 地址一]
Map Elements :{1=印度, 2=日本, 3=中国, 4=中国, 5=地址一}
Property Elements :{two=日本, one=印度, three=中国, four=中国}
本文参考:
https://www.w3cschool.cn/wkspring/kp5i1ico.html
http://c.biancheng.net/spring/inject-collection.html
标签:Map,Set,return,Spring,void,Bean,Elements,public,注入 来源: https://www.cnblogs.com/nayitian/p/15001672.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。