基于XML的自动装配(自定义类型 自动赋值)

为person里面你的自定义类型的属性赋值
property:是手动赋值,自动赋值不再配置property
自动赋值:自动装配
autowire="default/no":不自动装配,不自动为car赋值

autowire的参数有三个:分别按照规则
第一个 autowire=“byName”:
比如:private Car car;
是以属性名(car)作为id去容器中找到这个组件,给它赋值;如果找不到就装配null.
相当于:ioc.getbean(“car”);
第二个:autowire=“byType”:
private Car car;
属性的类型作为查找依据去容器中找到这个组件.
如果容器中有多个这个类型的bean,会报错:
NoUniqueBeanDefinitionException
没找到会赋值为null
相当于:ioc.getbean(Car.class)
第三个autowire=“constructor”:按照构造器进行赋值,指的是有参构造器
public car(Car car)
查找流程:1)、先按照有参构造器参数的类型进行装配,先找到有参构造器(成功就赋值),找到参数car是Car类型的,没有就赋值为null
2)、如果按照类型(Car)找到了多个bean,这个时候就用参数的名作为ID继续匹配,找到就装配;都找不到就赋值为null
3)、这个方法不会报错

<bean id = "person" class="com.guigu.bean.Person" autowire="byType">
<bean id = "person" class="com.guigu.bean.Person" autowire="byName">
<bean id = "person" class="com.guigu.bean.Person" autowire="constructor">
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你在狗叫什么、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值