java中哪里是控制器_java – 在spring mvc控制器中使用服务和DAO

我正在构建一个Web应用程序,主要构成来自后端/数据库的数据的CRUD操作.在某些情况下,我必须编写业务逻辑(我确信随着我们深入开发,我们将构建更多业务逻辑).目前,对于我正在创建的每个UI屏幕,我创建了一个模型类,Service类,DAO类,一个控制器(本质上是它的servlet)和一堆jsp页面.在大多数情况下,服务类只是从DAO调用方法来传递模型对象.基本上,我们使用模型类来映射UI屏幕中的数据.因此,控制器将在提交表单时填充模型对象.我已经开始使用服务类来保持从web层到DAO层的分离层.但有时我觉得服务类只是添加了不必要的API调用级别,我认为我可以将DAO注入Controller并更快地完成任务.我想仅在需要执行其他业务逻辑时才使用服务类.如果你必须设计一个应用程序,你考虑使用控制器 – > DAO vs controller-> Service-> DAO控制流程?

DAO更精细,可以处理一个特定的实体.服务提供宏级功能,最终可能使用多个DAO.通常,服务用于定义事务边界以获得原子性.换句话说,如果您最终使用多个DAO更新多个表,则在服务时定义事务边界将有助于提交或回滚对DB执行的所有更改.

在您的设计中,由于您主要为各种实体进行CRUD,因此服务似乎没有增加太多价值.但是,将基于Web的前端视为更新数据的一种方式.使用服务将允许您稍后将其与Web服务相同的功能暴露给其他形式的客户端,如第三方集成商等.

因此,总而言之,您的设计似乎与传统做法一致.如果您认为可以基于某些常见主题将多个服务组合成一个,以便可以减少代码的开销,那么您应该继续执行它.在一天结束时,最终目标是创建可维护的代码,在需要时没有人害怕改变.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值