为了账号安全,请及时绑定邮箱和手机立即绑定

SpringMVC,,, 进行不需要事务的操作,需要经过业务层吗?

SpringMVC,,, 进行不需要事务的操作,需要经过业务层吗?

长风秋雁 2018-12-06 13:29:59
假设我的事务切点切在业务层。 想问一下有开发经验的猿。在做WEB项目的时候,从数据库获取数据时(也就是不需要事务的操作),你们需要经过业务层吗?还是喜欢直接调用DAO层,忽略掉业务层?不需要事务的操作经过业务层对性能有多大影响?
查看完整描述

5 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

分层的目的是为了使工程的结构更加清晰,将逻辑拆分开,不同的层做不同的事情,实现一定程度上的解耦和复用,

比如你有一个需要导出统计结果的需求,让你用两个接口分别导出csv格式的和excel格式的,

如果不拆分controller和service,那么你需要写两次查询组装数据的逻辑,

如果拆分了,service层做查询组装数据的逻辑, controller层做包装为csv或excel,那么你的service层查询组装数据的逻辑就可以复用了,

如果有一天,需求变更,导出的数据要求新增一个字段,那么直接在service层改了即可,如果不拆分,就需要两个地方都改,

 

所以拆分可以便于维护,

查看完整回答
反对 回复 2018-12-16
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

业务层不能忽略,从分层和隔离的角度,表现层不可以直接操作数据访问层

查看完整回答
反对 回复 2018-12-16
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

哦,我的问题没描述完整,我是从表现层到控制层(使用@Controller 注解的类),再DAO层,这样把业务层忽略了可以吗?正规的开发是不是这样的呢?

查看完整回答
反对 回复 2018-12-16
?
慕斯王

TA贡献1864条经验 获得超2个赞

@钓鱼翁: 其实不可以这样在Controller直接调用DAO,而应该通过接口调用ServiceImpl,NLayer或者3Layer已经是业界共识了

查看完整回答
反对 回复 2018-12-16
?
隔江千里

TA贡献1906条经验 获得超10个赞

controller层是做跳转控制、数据包装等操作的,不涉及到业务转换和处理,没法省掉。强行省掉,会把业务代码升到controller层或者降到dao层,这样都是不利于解耦和复用的

查看完整回答
反对 回复 2018-12-16
  • 5 回答
  • 0 关注
  • 676 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号