Controller层和Service层具体区分

controller层,主要用于给前端返回数据的以及接收前端的数据的,

service层,总之就是处理数据用的。

  1. 处理controller层传过来的数据然后传给给dao层链接数据库进行增删改查,
  2. 从dao层传过来的数据的处理,比如封装成JavaBean。

涉及请求、参数、序列化之类的逻辑可以放在controller。
而具体到数据的操作逻辑,也就是增删改查的操作都应该完整封装到service中。

一方面是对于事务的要求,比如一个请求过来,后台需要多步增删改查,一般都要求放到一个service方法中也就是同一段事务里。另一方面也是为了提供统一的接口,有的业务除了本地的controller还会需要服务间通信,比如rest api或者rpc什么的,最后他们都应该从同一个service拿到一致的基础数据,然后由各自的controller按各自的需求加工后返回。

Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。
service是将dao层的增删改查基本操作调用过来,封装到servce类中,集成一个服务。

Controller层:业务层,管理用户的操作,用户界面传过的请求,调用对应的服务(service),完成用户请求的处理。

service层就是处理业务逻辑。但是在项目中,有时候在控制层也有业务逻辑。
业务逻辑代码太薄的话放在controller也没关系。涉及修改数据的,有事务控制的,需要放service。

  • 9
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
在开发中,ControllerService是两个不同的次,各自有不同的职责和功能。 Controller是应用程序的入口点,它接收来自客户端的请求并作出相应的响应。它负责处理用户的输入、调用相应的Service方法,并将处理结果返回给客户端。Controller主要负责处理请求的转发、参数校验、权限验证等与用户交互相关的逻辑。它是与用户直接交互的次,负责接收用户的请求并进行相应的处理,将数据发送给Service进行处理。 Service是业务逻辑的处理,主要负责处理业务逻辑和业务规则。它接收来自Controller的请求,调用相应的Dao方法获取数据,并对数据进行处理和加工,最终返回给ControllerService可以进行事务处理、业务逻辑的校验和计算等。它将底的数据操作封装起来,提供给Controller使用,隐藏了数据访问的细节。Service在整个应用程序中起到了业务逻辑处理的核心作用。 总结来说,Controller负责处理用户请求和响应,处理用户交互相关的逻辑;而Service负责处理业务逻辑和业务规则,调用Dao进行数据的访问和操作。Controller与用户直接交互,ServiceController和Dao之间起到了中间的作用,负责处理业务逻辑的具体实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Java知识点记录】DAOServiceController区别](https://blog.csdn.net/TFHoney/article/details/123430961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Whitemeen太白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值