请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师好,学习这个String boot 有2点凝问,请老师指导,谢谢

老师好,学习这个String boot 有几点不明白,
1:这里的jobCategoryService.getAllJobCategory(); 为什么是直接调用接口,而不是实现类,以往学习的内容,都是 New 实现类图片描述
第二个问题:return new ReponseResult(jobCategoryMapper.allJobCategory()); 这里New 的是ReponseResult() 而 ReponseResult()里只有设置成员变量的值 而JobCategoryController控制器里也没有获取成员变量的值,那这个成员变量的值,是怎么返回的了?
图片描述

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

1回答

彭彭老师 2025-05-05 22:52:09

1、Controller 层是外界与业务层沟通的桥梁,负责业务模块的流程控制,调用 Service 层接口控制具体的业务流程。Controller 层好比餐厅的服务员,把顾客的点餐需求传递给厨师长,再把做好的菜端给顾客,Controller 层不会编写大量的逻辑代码,跟服务员一样,不关注做菜的逻辑。

2、ReponseResult 是响应结果的封装,将状态码、描述信息以及数据对象进行封装,new ReponseResult 的时候有传递  data 数据对象过来,即返回的值

https://img1.sycdn.imooc.com/szimg/fe1780680918ce3216920902.jpg


0 回复 有任何疑惑可以回复我~
  • 老师好,这个逻辑,我明白,我是说,为什么不是New 实现类,而是直接调用接口方法,如果不是在 Stringboot 框架里,是否也可以这样直接调用接口方法,
    
    ReponseResult 响应结果的封装  这个结果是封装在 ReponseResult 类对像里,但没有看到获取这个类对像值的动作了,只看到一个直接 返回, 如果不是在 Stringboot 框架里 New 一个类,能直接返回结果么,
    回复 有任何疑惑可以回复我~ 2025-05-05 23:20:00
  • 1、controller 层能直接调用接口方法,这与 springboot 框架的设计有关,在 controller 中通过依赖注入 service 接口的实现类,spring 自动完成实例化,所以我们在 controller 层能够直接调用接口方法。对于自定义的接口,不能这样直接调用。
    2、ReponseResult 类结合了 lombok 工具的 data 注解,自动实现对象变量值返回。对于自定义类,new 实例化该类对象,默认返回对象的字符串表现形式,不会返回成员变量的值。
    回复 有任何疑惑可以回复我~ 2025-05-10 11:53:45
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号