关闭

Spring4.0学习笔记-自动装配

标签: spring
114人阅读 评论(0) 收藏 举报
分类:

XML配置里的自动装配

      SpringIOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,自动装配的方式有三种:①byType(根据类型自动装配),若IOC容器中有多个与目标Bean类型一致的Bean,这种情况下,Spring不能完成自动装配;②byName(根据名称自动装配),必须将目标Bean的名称和属性名设置的完全相同;③constructor(通过构造器自动装配),这种方式不推荐使用。

byName自动装配实例
没有自动装配代码配置文件

<bean id="address" class="cn.xjie.spring.beans.autowire.Address" p:city="BeiJing" p:street="HuiLongGuan"></bean>

    <bean id="car" class="cn.xjie.spring.beans.autowire.Car" p:brand="Audi" p:price="300000"></bean>
    <bean id="person" class="cn.xjie.spring.beans.autowire.Person" p:name="Tom" p:address-ref="address" p:car-ref="car"></bean>

运行结果
这里写图片描述

自动装配代码配置

<bean id="address" class="cn.xjie.spring.beans.autowire.Address" p:city="BeiJing" p:street="HuiLongGuan"></bean>
    <bean id="car" class="cn.xjie.spring.beans.autowire.Car" p:brand="Audi" p:price="300000"></bean>
    <bean id="person" class="cn.xjie.spring.beans.autowire.Person" p:name="Tom" autowire="byName"></bean>

运行结果截图
这里写图片描述

      可见两次运行结果相同,byName根据bean的名字和当前bean的setter风格的属性名进行自动装配,如果名字不同,则不能进行自动装配。byType根据bean的类型和当前bean的属性的类型进行自动装配,若IOC容器中有1个以上的类型匹配的bean,则抛异常。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1228次
    • 积分:89
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档