在春季 mvc 框架中将业务逻辑放在哪里?

2022-09-01 07:58:22

我不知道在春季mvc中将业务逻辑放在哪里,因为我是新手。我有一个关于做什么的线索,但由于缺乏春季mvc的知识,我不知道从哪里开始。我还想问一下,是否有人知道我在哪里可以获得有关此内容的优秀教程,或者具有业务逻辑的弹簧mvc Web应用程序的完整示例?无论如何,我所谈论的业务逻辑都是关于数据库处理:)


答案 1

@Controller类用作 MVC 的 C。请注意,Spring MVC 中的真实控制器是将使用特定类来处理 URL 请求。DispatcherServlet@Controller

@Service类应用于服务层。在这里,您应该放置您的业务逻辑

@Repository类应用于数据访问层。在这里,您应该放置CRUD逻辑:插入,更新,删除,选择。

@Service,则实体类将是 MVC 中的 M。JSP和其他视图技术(例如.JSP,Thymeleaf等)将符合MVC的V@Repository

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


答案 2

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

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

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


推荐