3.Spring属性配置细节

1.在配置bean的属性时,可以不写value属性,而使用value子节点的形式。

像value中有特殊字符的需要用<![CDATA[]]>包裹

<bean id="car2" class="com.hcx.spring.beans.Car">
<constructor-arg value="BaoMa" type="java.lang.String"></constructor-arg>
<constructor-arg type="java.lang.String">
<value><![CDATA[<Shanghai^>]]></value>
</constructor-arg>
<constructor-arg  type="int">
<value>250</value>
</constructor-arg>
</bean>

2.引用其他的bean。使用 ref属性,引用了car2bean作为person bean的属性。

并且支持级联属性赋值:如下,直接给引用的car2的bean的price属性赋值(car2 bean的price也会被联同赋值)

注意:之前若有没配置car,则使用级联属性赋值会报错。

<bean id="person" class="com.hcx.spring.beans.Person">
<property name="name" value="Tom"></property>
<property name="age" value="24"></property>
<!-- 使用property元素的ref属性建立Bean间的关系 -->
<property name="car" ref="car2"></property>
<property name="car.price" value="11111"></property>
</bean>


3.集合属性

在一個Person中可以有很多Car的情況下,配置cars 的List。

在property子节点下使用list节点,list节点下可以使用ref关联已有的bean也可以创建内部私有bean

<!--  测试如何配置集合属性 -->
<bean id="person3" class="com.hcx.spring.beans.collection.Person">
<property name="name" value="Mike" ></property>
<property name="age" value="27"></property>
<property name="cars">
<list>
<ref bean="car"/>
<ref bean="car2"/>
<bean  class="com.hcx.spring.beans.Car">
<constructor-arg value="Ford"></constructor-arg>
<constructor-arg value="Changan"></constructor-arg>
<constructor-arg value="222222" type="double"></constructor-arg>
</bean>
</list>
</property>
</bean>

4.配置Map属性值
<!--  配置Map属性值 -->
<bean id="person4" class="com.hcx.spring.beans.collection.NewPerson">
<property name="name" value="Rose" ></property>
<property name="age" value="28"></property>
<property name="cars">
<!-- 使用map节点及map的entry子节点  配置Map的成员变量-->
<map >
<entry key="AA" value-ref="car"/>
<entry key="BB" value-ref="car2"/>
</map>
</property>
</bean>

5.配置Properties属性值,即配置文件

<!-- 配置Properties属性值 -->
<bean id="dataSource" class="com.hcx.spring.beans.collection.DataSource">
<property name="properties">
<props>
<prop key="user">root</prop>
<prop key="password">1234</prop>
<prop key="jdbcUrl">jdbc:mysql:///test</prop>
<prop key="driverClass">"com.mysql.jdbc.Driver"</prop>
</props>
</property>
</bean>


6.,配置独立的集合Bean

<!-- 配置独立的集合Bean,以供多个bean使用 
		需要导入util命名空间
	-->
<util:list id="cars">
      <ref bean="car"/>
      <ref bean="car2"/>
</util:list>
<bean id="person5" class="com.hcx.spring.beans.collection.Person">
<property name="name" value="jack" ></property>
<property name="age" value="29"></property>
<property name="cars" ref="cars"></property>
</bean>

7.使用p命名空间以简化XML文件的配置

<!-- 通过 p 命名空间 为bean的属性赋值,先导入p命名空间相对于传统方式更加简洁-->
<bean id="person6" class="com.hcx.spring.beans.collection.Person"
p:age="30"
p:name="Jerry"
p:cars-ref="cars"
>
</bean>




                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值