Spring-3 自动装配bean

现有三个类:
地址(城市,街道)
车(车名,价格,速度)
人(人名,地址,车)

首先在xml里面配置好地址 和 车(此处使用了P命名空间,可自动提示字段):

<bean id="address" class="com.csu.autowire.Address"
        p:city="ChangSha" p:street="ShaoShan">
    </bean>

    <bean id="car" class="com.csu.factory.Car"
        p:name="Benz" p:price="632275" p:speed="290">
    </bean>

在配置person的时候,处理人与 地址 人与车的关系时,可用:

p:address-ref="address" p:car-ref="car"

这种方式是可行的,但是有一种更简单的方法即自动装配。
自动装配又有两种不同的形式,分别是:byName ,byType。
(1)byName
要求Person的属性名 与 bean的id名 一致,如果可以匹配则装配,无法匹配则不装配。

<bean id="Person" class="com.csu.autowire.Person"   
        p:name="LiuQiao" autowire="byName">
    </bean>

(2)byType
要求Person属性的类型与bean的class 一致。

<bean id="Person" class="com.csu.autowire.Person"   
        p:name="LiuQiao" autowire="byType">
    </bean>

使用byType有一个问题:当同一个类型的Class对应了多个bean之后,便会抛出异常。

实际应用情况:在整合框架时需要使用,但是其他情况下为清晰起见不建议使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值