Spring依赖注入 — util命名空间配置

来源:互联网 发布:儿童手表软件 编辑:程序博客网 时间:2024/06/10 05:39

要使用<util>标签,必须在XML中加入util名称空间(namespace):

xmlns:util="http://http://www.springframework.org/schema/util"

xsi:schemaLocation="http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-2.0.xsd"

分别使用<util:list>、<util:map>、<util:set>、<util:properties>等标签。

用它来取代ListFactoryBean、MapFactoryBean、SetFactoryBean、PropertiesFactoryBean。

其中的<util:properties>标签可以通过location属性指定其properties属性文件的位置。

 

除了以上使用的标签外,还有<util:constant>可用来设置静态数据成员(staticfield),而免于设置org.springframework.beans.factory.config.FieldRetrievingFactoryBean,例如:

<beanid="circle"class="cn.itcast.spring._other.Circle">

<property name="pi">

<util:constantstatic-field="java.lang.Math.PI"/>

</property>

</bean>

 

还可以使用<util:property-path>标签为某个Bean的属性成员设置id属性,使之在容器管理中,免于设置org.springframework.beans.factory.config.PropertyPathFactoryBean,例如:

<!-- id值为PIBean,其值将会是circle.pi -->

<util:property-path id="PI"path="circle.pi"/>

 

修改集合对象中示例的Bean定义文件

<beanid="some1"class="cn.itcast.spring._util.Some">

<property name="val" value="some instance1" />

</bean>

<beanid="some2"class="cn.itcast.spring._util.Some">

<property name="val" value="some instance2" />

</bean>

<beanid="some3"class="cn.itcast.spring._util.Some">

<property name="val" value="some instance3" />

</bean>

<util:listid="strArray">

<value>Hello</value>

<value>Welcome</value>

</util:list>

<util:listid="objArray">

<ref bean="some1" />

<ref bean="some2" />

<ref bean="some3" />

</util:list>

<util:listid="list"list-class="java.util.ArrayList">

<ref bean="some1"/>

<ref bean="some2" />

<ref bean="some3" />

</util:list>

<util:mapid="map"map-class="java.util.HashMap">

<entry key="key1" value-ref="some1"/>

<entry key="key2" value-ref="some2"/>

<entry key="key3" value-ref="some3"/>

</util:map>

<beanid="someBean"class="cn.itcast.spring._util.SomeBean">

<property name="someStrArray" ref="strArray"/>

<property name="someObjArray" ref="objArray"/>

<property name="someList" ref="list"/>

<property name="someMap"ref="map"/>

</bean>

0 0
原创粉丝点击