平时说到Service层,自然就是处理业务的。但最近一直在想一个问题:业务到底是什么,怎么定义为“一条业务”?例如“登陆”是否算“一条业务”,即直接在UserService直接提供login(username,password)方法。而不是分两步:CheckUser,LoginSuccess,并由Controller控制流程。求分享
登录算一条业务,你不能这样去理解service层,Service层一般用来处理业务逻辑,其实说处理业务逻辑因为在在这一层里面提对事务进入操作的,你对业务数据进行操作,你要对数据库进行增删改查吧?其中增删改就是对事务进行处理了,当你对数据库里面多个表进行操作,多条数进行操作,如果ABCD四条数据 ,如果AB进行插入操作成功 了,如果C插入失败呢,那么你是不应该要对事务进行rollback(回滚),如果你在Service层进行处理你不用担心万一有一条数据插入失败其他要进行回退的事情怎么去处理,Spring的Service层封装对事务进行处理,保持一致性。通常会在service层加上@Transactional来进行事务控制,你写代码的时候就不用担心要对数据进行rollback操作,spring帮你去处理。查询的东西你可以在controller层里面进行操作,看公司的规范吧,但是对事务处理就一定要在service层,要保持数据的一致性,你记住当你对数据进行增删改都要在service层去进行操作就可以了,是为了保持数据的一致性。希望对你有帮助
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。