自动装配也能是接口吗?难道不是接口实现类吗? @Autowired UserService userService;

自动装配也能是接口吗?难道不是接口实现类吗? @Autowired UserService userService;

为什么是

UserService

而不是

UserServiceImpl

相关截图:

https://img1.sycdn.imooc.com//climg/63dd1bcf0946eb1019201080.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2023-02-04 10:05:01

同学你好,虽然注解加在了接口上,并不是说实例化时是对接口进行的,而是通过多态的形式,将该接口的实现类进行装配之后进行赋值。

这里使用接口而非实现类,是为了提高代码的可维护性,例如未来维护时,可能将实现类从UserServiceImpl更新为UserServiceImplNew,此时并不需要更改其他类的代码,直接将实现类进行替换即可。

祝学习愉快~

  • 提问者 weixin_慕少5379513 #1

    直接将实现类进行替换即可


    这句话是说  后面如果将    实现类从UserServiceImpl更新为UserServiceImplNew


    那么就删除旧的  UserServiceImpl 类,而重新写 UserServiceImplNew 并implement 接口

    是这样理解吗

    2023-02-04 10:52:03
  • 同学你好,同学的理解是正确的。

    祝学习愉快~

    2023-02-04 11:41:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师