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

来源:1-1 认识 Java 赛道及该赛道的优势

weixin_慕九州2096979

2025-05-05

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

写回答

1回答

彭彭老师

2025-05-05

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

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

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


0
2
彭彭老师
回复
weixin_慕九州2096979
1、controller 层能直接调用接口方法,这与 springboot 框架的设计有关,在 controller 中通过依赖注入 service 接口的实现类,spring 自动完成实例化,所以我们在 controller 层能够直接调用接口方法。对于自定义的接口,不能这样直接调用。 2、ReponseResult 类结合了 lombok 工具的 data 注解,自动实现对象变量值返回。对于自定义类,new 实例化该类对象,默认返回对象的字符串表现形式,不会返回成员变量的值。
6天前
共2条回复

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程