Spring-6,配置bean的集合属性
来源:互联网 发布:淘宝定制的款去哪里了 编辑:程序博客网 时间:2024/05/22 17:07
配置集合属性
集合属性的配置
在spring中可以使用一组xml标签(,,
配置java.util.List类型的属性需要使用标签,在标签内部,使用value指定字面值,使用ref引用其他bean
配置java.util.Set类型需要使用标签
配置数组和List一样
配置ava.util.Map类型需要时使用
- 配置java.util.Properties类型使用标签,
配置List属性
对于Person2类,有一个属性为List
car.java:
注入List属性
<bean id="car" class="com.tuxianchao.spring.beans.Car"> <property name="brand" value="Jeep"></property> <property name="corp" value="GQ"></property> <property name="price" value="400000"></property> </bean> <bean id="car2" class="com.tuxianchao.spring.beans.Car"> <property name="brand" value="QQ"></property> <property name="corp" value="QR"></property> <property name="price" value="40000"></property> </bean> <bean id="car3" class="com.tuxianchao.spring.beans.Car"> <property name="brand" value="DS"></property> <property name="corp" value="DS"></property> <property name="price" value="200000"></property> </bean> <bean id="person2-1" class="com.tuxianchao.spring.beans.Person2"> <constructor-arg name="name" value="zahngsan"></constructor-arg> <constructor-arg name="age" value="20"></constructor-arg> <!--为集合属性赋值 --> <!-- 使用内部list标签或者内部bean --> <!-- ****************************************************** --> <constructor-arg name="carList"> <list> <!--list标签中应用外部bean --> <ref bean="car" /> <ref bean="car2" /> <ref bean="car3" /> <!-- list标签中使用内部bean --> <bean class="com.tuxianchao.spring.beans.Car"> <property name="brand" value="AA"></property> <property name="corp" value="AA"></property> <property name="price" value="100"></property> </bean> </list> </constructor-arg> <!-- ****************************************************** --> </bean>
配置Map属性
对于person3,有一个map属性
<bean id="person3-1" class="com.tuxianchao.spring.beans.Person3"> <constructor-arg name="name" value="lisi"></constructor-arg> <constructor-arg name="age" value="25"></constructor-arg> <!--配置map属性 --> <constructor-arg name="cars"> <map> <entry key="1111"> <ref bean="car" /> </entry> <entry key="2222" value-ref="car2"> </entry> <entry key="3333" value-ref="car3"> </entry> <!--使用key子标签和内部bean配置map --> <entry> <key> <value type="java.lang.String">4444</value> </key> <bean class="com.tuxianchao.spring.beans.Car"> <property name="brand" value="AA"></property> <property name="corp" value="AA"></property> <property name="price" value="100"></property> </bean> </entry> </map> </constructor-arg> </bean>
配置Properties属性
Properties一般用于配置文件,比如连接数据库的配置信息(url,user,password等),例如,DataSource包含一个Properties属性。
对于这种属性的注入:
<!-- 为properties属性赋值 --> <bean id="dataSource" class="com.tuxianchao.spring.beans.DataSource"> <property name="properties"> <!--使用prop为properties赋值 --> <props> <prop key="driver">com.mysql.jdbc.Driver</prop> <prop key="url">jdbc:mysql://localhost:3306/testjdbc</prop> <prop key="user">root</prop> <prop key="password">123456</prop> </props> </property> </bean>
配置外部的集合bean
配置外部的集合bean,供其他多个bean引用,而不需要每次在bean内部配置集合。
首先需要导入util命名空间 ,配置外部集合bean,然后在bean的集合属性中引用外部集合bean。
<!-- 使用外部的List bean --> <util:list id="carsList"> <ref bean="car" /> <ref bean="car2" /> <ref bean="car3" /> </util:list> <bean id="person2-2" class="com.tuxianchao.spring.beans.Person2"> <constructor-arg name="name" value="zahngsan"></constructor-arg> <constructor-arg name="age" value="20"></constructor-arg> <constructor-arg name="carList"> <!-- 使用外部集合bean --> <ref bean="carsList" /> </constructor-arg> </bean> <!-- 使用外部的map bean --> <util:map id="carsMap"> <entry key="1111"> <ref bean="car" /> </entry> <entry key="2222" value-ref="car2"> </entry> <entry key="3333" value-ref="car3"> </entry> </util:map> <bean id="person3-2" class="com.tuxianchao.spring.beans.Person3"> <constructor-arg name="name" value="lisi"></constructor-arg> <constructor-arg name="age" value="25"></constructor-arg> <constructor-arg name="cars"> <ref bean="carsMap" /> </constructor-arg> </bean> <!-- 使用properties bean --> <util:properties id="properties1"> <prop key="driver">com.mysql.jdbc.Driver</prop> <prop key="url">jdbc:mysql://localhost:3306/testjdbc</prop> <prop key="user">root</prop> <prop key="password">root</prop> </util:properties> <bean id="dataSource2" class="com.tuxianchao.spring.beans.DataSource"> <property name="properties"> <ref bean="properties1" /> </property> </bean>
使用p命名空间简化配置文件
为了简化配置文件,在xml文件中可以使用非子元素而是属性来配置信息,
<!--使用p命名空间,简化配置文件 --> <!-- 可通过元素的属性来配置bean的属性 --> <bean id="person2-3" class="com.tuxianchao.spring.beans.Person2" p:name="ppp" p:age="50" p:carList-ref="carsList"></bean>
0 0
- Spring-6,配置bean的集合属性
- spring Bean的集合属性
- Spring中bean的集合属性的配置
- spring bean配置之集合属性
- Spring的bean属性配置
- Spring配置bean属性
- (学习笔记)spring框架入门之配置bean(处理属性中有集合的情况)
- spring bean标签的属性配置
- spring bean标签的属性配置
- Spring-3:bean的属性配置细节
- Spring配置中的bean引用其它bean的属性值
- [Spring]配置集合Bean详解
- Spring中Bean属性为集合的注入方式
- spring-bean属性配置解析
- spring-bean属性配置解析
- spring Bean属性配置细节
- Spring如何配置bean属性
- spring基本配置详解(属性bean的基本配置)
- hdu 1166 敌兵布阵
- 自定义dialog and anim
- environ是在哪儿里定义的?
- 【开源Linux学习笔记001 初识CentOS】
- 1029
- Spring-6,配置bean的集合属性
- Tensorflow实例-CNN处理句子相似度(MPCNN)
- C语言实现栈
- 开通博客第一天
- Apache的三种MPM模式比较:prefork,worker,event
- 孙鑫 笔记
- priority_queue的底层实现及数组建堆。
- TensorFlow基本用法
- 启发式算法总结