Spring 还可以对基本属性和集合类型属性进行注入:
public interface PersonIService { public String getBaseProperty(); public Set<String> getSets(); public List<Integer> getList(); public Properties getProperties(); public Map<String, String> getMaps(); }
public class PersonServiceImpl implements PersonIService { private String baseProperty; private Set<String> sets; private List<Integer> list; private Properties properties; private Map<String,String> maps; public Map<String, String> getMaps() { return maps; } public void setMaps(Map<String, String> maps) { this.maps = maps; } public Properties getProperties() { return properties; } public void setProperties(Properties properties) { this.properties = properties; } public List<Integer> getList() { return list; } public void setList(List<Integer> list) { this.list = list; } public Set<String> getSets() { return sets; } public String getBaseProperty() { return baseProperty; } public void setBaseProperty(String baseProperty) { this.baseProperty = baseProperty; } public void setSets(Set<String> sets) { this.sets = sets; } }
beans.xml:
<bean id="personIService" class="cn.server.impl.PersonServiceImpl"> <property name="baseProperty" value="value:基本属性1" /> <property name="sets"> <set> <value>set装配-value1</value> <value>set装配-value2</value> <value>set装配-value3</value> </set> </property> <property name="list"> <list> <value>11</value> <value>12</value> <value>13</value> </list> </property> <property name="properties"> <props> <prop key="property1">value1</prop> <prop key="property2">value2</prop> <prop key="property3">value3</prop> </props> </property> <property name="maps"> <map> <entry key="map1" value="value1" /> <entry key="map2" value="value2" /> <entry key="map3" value="value3" /> </map> </property> </bean>
测试代码:
@Test public void otherTest(){ ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); PersonIService personIService=(PersonIService)ac.getBean("personIService"); System.out.println("========基本属性注入============"); System.out.println(personIService.getBaseProperty()); System.out.println("========Set集合类型注入============"); for(String str : personIService.getSets()){ System.out.println(str); } System.out.println("========list集合类型注入============"); for(Integer i : personIService.getList()){ System.out.println(i); } System.out.println("========properties集合类型注入============"); for(Object key : personIService.getProperties().keySet()){ System.out.println(key+"="+personIService.getProperties().getProperty(key.toString())); } System.out.println("========map集合类型注入============"); for(Object key : personIService.getMaps().keySet()){ System.out.println(key+"="+personIService.getMaps().get(key)); } }