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

在SpringMVC的Controller层处理业务逻辑好吗?

在SpringMVC的Controller层处理业务逻辑好吗?

慕容3067478 2019-03-21 18:19:03
新接手的代码,发现在Controller里处理的逻辑就有几百行代码?又没有事务管理,这么做好吗?
查看完整描述

5 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

标准的MVC确实是直接在controller中实现业务逻辑,但实际项目里,还是会建议在controller和数据库操作之间封装服务层。
一方面,controller在对应不同的请求url,从功能上会存在很多重复;不好维护;
另一方面,要考虑你的服务功能将来可能暴露给其他前端,比如其他应用接入,或者不同的终端(如APP、移动H5等);有些服务甚至可能单独剥离出来独立部署;

查看完整回答
反对 回复 2019-04-25
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

一般controller层=》Service层=》Dao层。

1.controller层,接受请求,进行分页,DTO对象封装操作。

2.service层,执行逻辑,控制并发,事务。

3.Dao层,与数据库交互。


查看完整回答
反对 回复 2019-04-25
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

很不好,扩展起来很费劲,维护性也很差。

controller应该是薄薄的一层,业务逻辑尽量后置在服务层去处理,在服务粒度、服务利用上也更加自由


查看完整回答
反对 回复 2019-04-25
?
HUWWW

TA贡献1874条经验 获得超12个赞

当然不好啦,controller层只负责业务数据交互,业务逻辑都交给service层处理


查看完整回答
反对 回复 2019-04-25
?
holdtom

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

现在我接手的项目Controller层也是奇大无比,一个方法上百行,里面有多层if嵌套,感觉这样最大的问题就是在后期维护时会很麻烦,需要理解之前的业务逻辑才能更改;个人感觉较好的方法是controller-service-dao,由service负责具体的逻辑操作,3者之间依次调用,彼此之间尽可能解耦;代码要尽可能可扩展。

查看完整回答
反对 回复 2019-04-25
  • 5 回答
  • 0 关注
  • 5241 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信