两个小问题
为什么在上面加了Service注解后departmentDao报错,但是可以使用,要怎么解决?
为什么在业务层的时候@Service不加在接口(像持久层那样),而加在实现类上面
14
收起
正在回答
2回答
同学你好,在spring.xml中,我们配置了MapperScannerConfigurer类,自动扫描指定包下的接口和xml文件,将Dao接口生成代理注入到Spring,所以注解要写在接口上。如下:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
好帮手慕阿慧
2020-08-31 11:50:29
同学你好,
1、departmentDao报错是因为我们把DepartmentDao的接口直接交给Spring管理了。而MyBatis底层又把xml也映射成DepartmentDao的实体类交给spring管理了。由于有两个DepartmentDao类型的对象,所以编译会报错。
同学可以添加注解:
@Qualifier("departmentDao")
如下图:
2、@Service注解要写在实现类上。因为@Service注解是把Spring容器中的Bean进行实例化,实现类可以实例化,而接口不能,所以要加在实现类上。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
4. SSM到Spring Boot入门与综合实战
- 参与学习 人
- 提交作业 323 份
- 解答问题 8263 个
本阶段将带你学习主流框架SSM,以及SpringBoot ,打通成为Java工程师的最后一公里!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星