将业务逻辑放在spring mvc框架中的哪里?

Mar*_*sea 26 java business-logic spring-mvc

我不知道将业务逻辑放在spring mvc中的哪个位置因为我是新手.我知道该做什么,但由于缺乏春季mvc的知识,我不知道从哪里开始.我还想问一下,如果有人知道我可以在哪里获得一个很好的教程,或者有一个具有业务逻辑的spring mvc web应用程序的完整示例?无论如何,我所谈论的业务逻辑都是关于数据库处理:)

Lui*_*oza 66

@Controller类作为从MVCÇ.请注意,Spring MVC中的真实控制器DispatchServlet将使用特定的@Controller类来处理URL请求.

@Service类应该为您的服务层服务.在这里你应该把你的业务逻辑.

@Repository类应该为您的数据访问层服务.在这里你应该放置CRUD逻辑:插入,更新,删除,选择.

@Service,@Repository和你的实体类将是米MVC.JSP和其他视图技术(例如JSP,Thymeleaf等)将使MV与MVC一致.

@Controller类应该只能@Service通过接口访问类.类似地,@Service类应该只能通过接口访问其他@Service类和一组特定的@Repository类.

  • 您(或任何人)是否有链接到文档或该答案的有用链接? (3认同)
  • 我经常发现自己需要使用其他服务中的服务.这很容易看起来很混乱.春天有什么偏好的方式来安排吗?例如,在服务的其余部分之上有一层特定的服务(服务即可访问服务). (3认同)

小智 13

许多人会建议将业务逻辑添加到服务层.我个人发现这不是一个好主意,特别是当你开始测试时:你可能不得不同时处理持久性和业务逻辑,或者嘲笑周围的一切,然后事情会变得非常混乱.

我建议在得出任何结论之前阅读本文: Spring Web应用程序的最大缺陷

恢复,想法是将业务逻辑移动到模型层并简化您的服务方法.