java业务逻辑_java业务逻辑怎么写?
现在Java项⽬⼀般都是⽤Spring全家桶开发,以web项⽬来讲结构主要分为Controller层、Service层和DAO层,细分的话有的项⽬可能还会有⼀个Manager层。
⼀个请求到达后端之后会根据请求的路径到对应的Controller,Controller会调⽤相应的业务Service,Service会调⽤DAO,DAO去执⾏具体数据库查询操作。java怎么编写
同时DAO返回数据到Service,数据经过Service组装成合适的形式之后返回给Controller,最终Controller对外返回请求结果。
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层主要负责与数据库的交互操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论