1、在控制层中注入的是接口还是实现类 2、如果在实现类上的注解中value值不写成iUserService,写成其他的,那在控制层中怎么写呢?
来源:7-3 查询节点和递归查找功能开发
子玥
2018-01-17
3回答
-
对于问题1而言,我觉得答主可能省略了几个关键词,我补全一下:注入接口(类型)或者实现类(类型)都是可以的,按照byType 按类型自动装配时候,只要将要装配的Bean是该接口类型的实现或者实现类类型的实现或者子类实现,就能够装配进去。这一点体现了OO的继承性。
问题2,视频里用的是byType(通过类型)自动装配的,因为在spring-scan扫描Bean的时候,只有唯一IUserService类型的实现类,因此,在impl类上不管有没有在@Service("xxxx")里面加value="xxx" ,通过byType 自动装配都会根据类型来找到正确的Bean
ps:如果超过两个相同类型的IUserService类作为候选Bean,那么就必须加@Service()里面的value值了
00 -
simons_fan
2018-01-18
1、接口 2、@Service(value="××")中的value可以不写,或者写了,但是没和controller中注入的接口名字不一致,对接口调用没影响的,你可以试下
112018-01-19 -
Geely
2018-01-20
你好,同学 两位同学回答的非常正确的。注入分为两种一个是bytype 一个是byname同学可以查查哟
【这个帖子好好看看哟,给同学们整理的学习课程的集锦宝典】
课程项目思维导图及线上环境、测试环境、部署linux和windows等解答
http://www.imooc.com/article/20193
部署环境的话 ,建议看下文章最后一小段哟~首先跟着课程阿里云部署那个章节过一遍,可以先不跟着操作,做到心里有数,环境部署都做了什么。
尽快进入咱们QQ群哟~~进群方法下面思维导图那个帖子有。非常详细
课程项目思维导图及线上环境、测试环境、部署linux和windows等解答
http://www.imooc.com/article/20193
【重点】问答区常见问题整理
http://www.imooc.com/article/18998
课程项目QQ群分享手记
http://www.imooc.com/article/19094
找工作的季节之简历及找工作的分享
http://www.imooc.com/article/19998
项目环境、vsftpd、linux、mysql等各种配置、软件下载
http://learning.happymmall.com
mybatis-plugin插件安装
http://coding.imooc.com/learn/questiondetail/36007.html00
相似问题