spring应用手册-IOC(XML配置实现)-(29)-注入props集合

    科技2022-07-13  121

    戴着假发的程序员 出品

    注入props集合

    spring应用手册(第一部分)

    props标签是用来注入java中的Properties类型的。我们知道Properties其实是继承了Hashtable,所以它也是双列集合,所以注入方式和map几乎相同,只是key和value的类型都是String,所以注入方式略有不同。看案例:

    准备group类,拥有两个Properties集合,其中一个存储账户名字(String)类型,以账号(String)作为key。

    /** * @author 戴着假发的程序员 * * @description */ public class Group { //账户名字集合 private Properties accNames; public void setAccNames(Properties accNames) { this.accNames = accNames; } //无参数构造 public Group(){ } //有参数构造 public Group(Properties accNames) { this.accNames = accNames; } public void showNames(){ System.out.println(accNames); } }

    我们在配置文件中进行注入:

    <?xml version="1.0" encoding="UTF-8"?> <beans default-autowire="byName" 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.xsd"> <!-- 注册一个group --> <bean id="group" class="com.boxuewa.dk.demo2.beans.Group"> <property name="accNames"> <!-- 使用props标签注入简单Properties集合属性 --> <props> <prop key="9527">卡卡西</prop> <prop key="9528">佐助</prop> <prop key="9529">鸣人</prop> </props> </property> </bean> </beans>

    测试:

    @Test public void testMap(){ ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); Group bean1 = ac.getBean("group1",Group.class); bean1.showNames(); }

    结果

    Processed: 0.016, SQL: 8