Spring学习笔记(bean的自动装配)

bean的自动装配

自动装配是Spring满足bean依赖的一种方式,Spring在上下文中自动查找,并为bean装配属性

Spring中有三种装配方式

  1. 在xml中显示式配置
  2. 在Java中显式配置
  3. 隐式的自动装配

 bean.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"
       default-autowire="byName">

    <bean id="hb" class="com.qian.test1.HammerBobby"/>
    <bean id="cb" class="com.qian.test1.CannonBobby"/>
    <bean id="player" class="com.qian.test1.Player" autowire="default"/>

</beans>

autowire自动装配

autowire="byName/byType/constructor/default/no"

只需要这样使用 <bean id="player" class="com.qian.test1.Player" autowire="xxx">

byName:通过名字装配,即自动在容器上下文查找和属性set方法后面的值对应id的bean对象进行装配,如setHb() 对应id="hb"的对象(若id="Hb"则不匹配)

byType:通过类型装配,即查找和属性类型相同的bean对象进行装配(但只允许上下文中只有一个可匹配类型对象,否则报错)

constructor:通过构造器装配,即尽量使用匹配参数最多的构造函数创建对象

default:可在配置中添加default-autowire="byName",如上所示,可批量设置装配方法

no:不会自动注入外部类,但如果有@Autowired等修饰则不受no影响

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值