Hxuejie 2016-06-07 14:26 采纳率: 100%
浏览 3098
已采纳

求对MVC业务层Service的理解分享

平时说到Service层,自然就是处理业务的。但最近一直在想一个问题:业务到底是什么,怎么定义为“一条业务”?例如“登陆”是否算“一条业务”,即直接在UserService直接提供login(username,password)方法。而不是分两步:CheckUser,LoginSuccess,并由Controller控制流程。求分享,谢谢!

  • 写回答

2条回答 默认 最新

  • 一码浓 2016-06-07 14:45
    关注

    我刚刚开始学习也是有疑问,当我出来工作一个月之后 我就明白了,你所说的登录是否算一条业务,你不能这样去理解service层,Service层一般用来处理业务逻辑,其实说处理业务逻辑因为在在这一层里面提对事务进入操作的,你对业务数据进行操作,你要对数据库进行增删改查吧?其中增删改就是对事务进行处理了,当你对数据库里面多个表进行操作,多条数进行操作,如果ABCD四条数据 ,如果AB进行插入操作成功 了,如果C插入失败呢,那么你是不应该要对事务进行rollback(回滚),如果你在Service层进行处理你不用担心万一有一条数据插入失败其他要进行回退的事情怎么去处理,Spring的Service层封装对事务进行处理,保持一致性。通常会在service层加上@Transactional来进行事务控制,你写代码的时候就不用担心要对数据进行rollback操作,spring帮你去处理。查询的东西你可以在controller层里面进行操作,看公司的规范吧,但是对事务处理就一定要在service层,要保持数据的一致性,你记住当你对数据进行增删改都要在service层去进行操作就可以了,是为了保持数据的一致性。希望对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办