java业务逻辑_java业务逻辑怎么写?

现在Java项目一般都是用Spring全家桶开发,以web项目来讲结构主要分为Controller层、Service层和DAO层,细分的话有的项目可能还会有一个Manager层。

一个请求到达后端之后会根据请求的路径找到对应的Controller,Controller会调用相应的业务Service,Service会调用DAO,DAO去执行具体数据库查询操作。

同时DAO返回数据到Service,数据经过Service组装成合适的形式之后返回给Controller,最终Controller对外返回请求结果。

142727bc115e525bb1e708af26a76bfb.png

Controller层

首先,Controller主要负责处理对应的请求,在Controller层我们可以做一些基础的参数校验的工作,比如参数是否为空、格式是否正确等。

其次,Controller还有一个职责就是需要正确处理Service层抛出的异常。

最后,Controller负责将最终结果返回给调用方。

当然在Controller里也不是只能调用Service,就我自己平时写代码的习惯来讲,对于一些简单的查询操作,我会在在Controller里直接调用DAO,因为业务逻辑很简单没必要再用Service封装一层。

Service层

Service通常来讲就是业务层,主要用来处理复杂的业务逻辑,并对DAO返回的数据进行组装,使之符合接口定义的数据格式。

一些需要数据库事务支持的业务逻辑也会放在Service层处理,比如一个创建订单业务逻辑,我们需要保证创建订单和扣减库存两个操作要么都成功要么全失败,那么此时我们就可以这两个操作封装到一个Service方法里保证整体业务的事务性。

对于Service层出现的异常或是逻辑判断出错,我通常是直接抛出异常,因为如果在Service里catch了异常会导致数据库事务回滚出现问题。

DAO层

一般来讲DAO层主要负责与数据库交互,一个DAO类通常对应数据库中的一张表,DAO中是一些基础的增删改查方法。

我们在DAO层一般不会对数据进行额外处理,在开发实践中不同的Service可以根据自身的业务调用不同的DAO返回数据并进行组装。

总结

Java项目结构一般分为Controller层、Service层和DAO层;Controller层主要负责参数校验,处理Service抛出的异常以及返回最终数据;Service层主要负责处理一些复杂的业务逻辑或者是需要事务支持的业务,另外还负责对DAO数据进行封装;DAO层主要负责与数据库的交互操作。

  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值