Spring-02-各种类型信息的注入配置格式

a.注入字符串,数值单个数值
b.注入bean对象
c.注入集合list,set,map,properties
d.spring表达式注入
e.注入空值


注入字符串,数值单个数值

<property name=”” value=”“>

java
<bean id="msg" class="org.tarena.bean.MessageBean">
        <property name="name" value="root">
        </property>
        <property name="age" value="25">
        </property>
    </bean>

注入bean对象

ref=”对象id名”


注入集合list,set,map,properties

list:

java
<property name="friends">
            <list>
                <value>tom</value>
                <value>jack</value>
            </list>
        </property>

set:

java
<property name="cities">
            <set>
                <value>北京</value>
                <value>上海</value>
            </set>
        </property>

map:

java
<property name="books">
            <map>
                <entry key="1001" value="Java基础"></entry>
                <entry key="1002" value="JavaWeb基础"></entry>
            </map>
        </property>

properties:

java:
<property name="db">
            <props>
                <prop key="username">root</prop>
                <prop key="password">123</prop>
                <prop key="dirver">com.sql.jdbc.Driver</prop>
            </props>
        </property>

扩充:list,set,map,properties的遍历demo
System.out.println("--list注入信息--:");
for(String s : friends){
System.out.println(s);
}
System.out.println("--set注入信息--:");
for(String s : cities){
System.out.println(s);
}
System.out.println("--Map注入信息--:");
Set<Entry<String,String>> booksSet = books.entrySet();
for(Entry<String,String> e : booksSet){
System.out.println(e.getKey()+":"+e.getValue());
}
System.out.println("--Pr注入信息--:");
Set<Object> keys = db.keySet();
for(Object key : keys){
System.out.println(key+":"+db.getProperty(key.toString()));
}


可以在<bean>元素之外定义对象。这样,定义的对象可以被重复利用。

java
<!-- 定义List对象 -->
    <util:list id="someList">
        <value>tom</value>
        <value>jack</value>
<!-- 定义Set对象 -->
    </util:list>
    <util:set id="someSet">
        <value>北京</value>
        <value>上海</value>
    </util:set>
<!-- 定义Map对象 -->
    <util:map id="someMap">
        <entry key="1001" value="Java基础"></entry>
        <entry key="1002" value="JavaWeb基础"></entry>
    </util:map>
<!-- 定义Properties对象(方法一) -->
    <util:properties id="someProperties">
        <prop key="username">root</prop>
        <prop key="password">123</prop>
        <prop key="dirver">com.sql.jdbc.Driver</prop>
    </util:properties>
<!-- 读取db.properties文件,形成一个Properties对象(方法二) -->
<!-- 从classpath:db.properties文件中读取信息,形成一个id为dbParams的Properties对象 -->
    <util:properties id="dbParams"
        location="classpath:db.properties">
    </util:properties>

    <!-- 定义<bean>,将对象添加到响应的属性上 -->
    <bean id="msg1" class="org.tarena.bean.MessageBean">
        <property name="friends" ref="someList">
        </property>
        <property name="cities" ref="someSet">
        </property>
        <property name="books" ref="someMap">
        </property>
        <property name="db" ref="someProperties">
        </property>
    </bean>

spring表达式注入

#{表达式}
#{id.属性}或#{id名.key}或#{id名[2]}
如果是对象属性,需要有getXXX()方法

如果key为数字123,则要写成:
/#{dbParams[‘123’]}

<!-- 从id为dbParams的对象中,取user的值 -->
<property name="name" value="#{dbParams.user}">
</property>
<!-- 从id为somgList的集合对象中,取第一个值 -->
<property name="name" value="#{someList[0]}">
</property>

注入空值

<property name="name">
    <null/>
</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值