在使用spring时,会使用@Autowire等功能进行依赖注入.例如:
@Autowire
UserService userService
当有一个继承了UserService的子类UserServiceImpl时,spring可以自动将这个将UserServiceImpl子类注入userService变量中.
请问spring是如何做到识别出userServiceImpl是userService的子类并将其注入的?
如果同时存在userService和userServiceImpl两个bean,那spring会怎么进行判断注入?
如果有2个,除非你指定了主bean(@Primary),或者指定了bean的名字,否则报错
@Autowire 依赖注入的是对象,userService这个是接口,接口是没有对象的,默认注入的是实现类的对象(userServiceImpl)
不是一句话就可以说的清的,你得懂它的原理,可以看一下这篇博客,一定对你有用
https://blog.csdn.net/weixin_44427181/article/details/126949202?spm=1001.2014.3001.5502