Spring09_AutoWiredByAnnotation

25 篇文章 0 订阅
@Autowired注解用于Spring框架中实现自动装配,主要通过byType和byName策略。当有多个匹配的bean时,可以使用@Qualifier指定特定bean。如果无法找到匹配的bean,由于@Autowired的required默认为true,会导致异常,可以将其设为false避免空指针异常。
摘要由CSDN通过智能技术生成

Spring09_AutoWiredByAnnotation

注解实现自动装配**@AutoWired**

  • 注解能标识的位置
    • 标识在要赋值的属性上,不需要设置成员变量的set方法
    • 标识在set方法上
    • 标识在要赋值的属性的有参构造方法上
  • 注解的原理
    • 默认通过byType,在IOC中匹配bean来为属性赋值
    • 如果有多个类型,则使用byName,但是注意注解管理bean时bean的id是类的小驼峰
    • 如果byType和byName都无法实现自动装配,此时会报多类型匹配失败异常NoUniqueBeanDefinitionException
    • 那么可以通过**@Qualifier**注解来指定一个value值,让byName方式指定某个bean来为这个bean的属性赋值
  • 特殊情况
    • 没有类型匹配异常NoSuchBeanDefinitionException,是因为注解@Autowired,它的required属性的值为true,表示必须完成装配,而XML方式时required属性的值为false,所以报了空指针异常,此时改成false即可,能装配就装配,不能装配按属性的默认值来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值