Spring可以对集合类型进行注入包括:Set集合,properties属性集合,Map集合以及List集合
注入方式如下:
- package com.test;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.HashSet;
- import java.util.Map;
- import java.util.Properties;
- import java.util.Set;
- import java.util.List;
- public class UserServiceImplement implements IUserService {
- public Set<String> getS() {
- return s;
- }
- public void setS(Set<String> s) {
- this.s = s;
- }
- public Map<String, String> getM() {
- return m;
- }
- public void setM(Map<String, String> m) {
- this.m = m;
- }
- public Properties getP() {
- return p;
- }
- public void setP(Properties p) {
- this.p = p;
- }
- public List<String> getL() {
- return l;
- }
- public void setL(List<String> l) {
- this.l = l;
- }
- private Set<String> s = new HashSet<String>();
- private Map<String, String> m = new HashMap<String, String>();
- private Properties p = new Properties();
- private List<String> l = new ArrayList<String>();
- public void saveUser() {
- System.out.println("Set集合注入");
- for (String str : s) {
- System.out.println(str);
- }
- System.out.println("------------------------------");
- System.out.println("Map集合注入");
- for (String str : m.values()) {
- System.out.println(str);
- }
- System.out.println("------------------------------");
- System.out.println("Properties属性集合注入");
- for (Object str : p.values()) {
- System.out.println(str);
- }
- System.out.println("------------------------------");
- System.out.println("List集合注入");
- for (String str : l) {
- System.out.println(str);
- }
- }
- }
package com.test;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.List;
public class UserServiceImplement implements IUserService {
public Set<String> getS() {
return s;
}
public void setS(Set<String> s) {
this.s = s;
}
public Map<String, String> getM() {
return m;
}
public void setM(Map<String, String> m) {
this.m = m;
}
public Properties getP() {
return p;
}
public void setP(Properties p) {
this.p = p;
}
public List<String> getL() {
return l;
}
public void setL(List<String> l) {
this.l = l;
}
private Set<String> s = new HashSet<String>();
private Map<String, String> m = new HashMap<String, String>();
private Properties p = new Properties();
private List<String> l = new ArrayList<String>();
public void saveUser() {
System.out.println("Set集合注入");
for (String str : s) {
System.out.println(str);
}
System.out.println("------------------------------");
System.out.println("Map集合注入");
for (String str : m.values()) {
System.out.println(str);
}
System.out.println("------------------------------");
System.out.println("Properties属性集合注入");
for (Object str : p.values()) {
System.out.println(str);
}
System.out.println("------------------------------");
System.out.println("List集合注入");
for (String str : l) {
System.out.println(str);
}
}
}
要注意的是:这些集合属性也必须要有对应的setter方法
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd">
- <context:annotation-config />
- <bean id="userservice" class="com.test.UserServiceImplement">
- <property name="s">
- <set>
- <value>SetValue1</value>
- <value>SetValue2</value>
- <value>SetValue3</value>
- </set>
- </property>
- <property name="m">
- <map>
- <entry key="MapKey1" value="MapValue1"></entry>
- <entry key="MapKey2" value="MapValue2"></entry>
- <entry key="MapKey3" value="MapValue3"></entry>
- </map>
- </property>
- <property name="p">
- <props>
- <prop key="PropertiesKey1">PropertiesValue1</prop>
- <prop key="PropertiesKey2">PropertiesValue2</prop>
- <prop key="PropertiesKey3">PropertiesValue3</prop>
- </props>
- </property>
- <property name="l">
- <list>
- <value>ListValue1</value>
- <value>ListValue2</value>
- <value>ListValue3</value>
- </list>
- </property>
- </bean>
- </beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config />
<bean id="userservice" class="com.test.UserServiceImplement">
<property name="s">
<set>
<value>SetValue1</value>
<value>SetValue2</value>
<value>SetValue3</value>
</set>
</property>
<property name="m">
<map>
<entry key="MapKey1" value="MapValue1"></entry>
<entry key="MapKey2" value="MapValue2"></entry>
<entry key="MapKey3" value="MapValue3"></entry>
</map>
</property>
<property name="p">
<props>
<prop key="PropertiesKey1">PropertiesValue1</prop>
<prop key="PropertiesKey2">PropertiesValue2</prop>
<prop key="PropertiesKey3">PropertiesValue3</prop>
</props>
</property>
<property name="l">
<list>
<value>ListValue1</value>
<value>ListValue2</value>
<value>ListValue3</value>
</list>
</property>
</bean>
</beans>
测试类:
- package com.test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class Test {
- public static void main(String[] args) {
- ApplicationContext ctx = new ClassPathXmlApplicationContext(
- "com/test/bean.xml");
- IUserService us = (IUserService) ctx.getBean("userservice");
- us.saveUser();
- }
- }
package com.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"com/test/bean.xml");
IUserService us = (IUserService) ctx.getBean("userservice");
us.saveUser();
}
}
本文介绍如何在Spring框架中对Set、Map、Properties及List等集合类型进行依赖注入,并提供了详细的Java代码实现与XML配置示例。



1074

被折叠的 条评论
为什么被折叠?



