@Autowired原理

实验19:如果资源类型的bean不止一个,
        默认根据@Autowired注解标记的成员变量名作为id查找bean,进行装配★
实验20:如果根据成员变量名作为id还是找不到bean,
        可以使用@Qualifier注解明确指定目标bean的id★


 

@Autowired原理:
     @Autowired
     private BookService bookService;
     1)、先按照类型去容器中找到对应的组件 bookService=ioc.getBean(BookService.class)
          1)、找到一个:找到就赋值
          2)、没找到:抛异常
          3)、找到多个
              1)、按照变量名作为id继续匹配  BookService BookServiceExt
                    @Autowired
                    private BookService bookServiceExt2;
                   1)、匹配上?  装配
                   2)、没有匹配上? 报错
                        原因:因为按照变量名作为id继续匹配
                        使用@Qualifier("bookServiceExt")指定一个新id
                            1)、找到装配
                            2)、找不到   报错
    发现Autowired标注的自动装配的属性默认是一定装配上的
        找到就装配,找不到就拉倒  @Autowired(required = false)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值