【发布时间】:2015-09-23 05:39:47
【问题描述】:
我对在 Spring-MVC 中使用 @Controller、@Service 和 @Repository 感到很困惑。
我有几个问题,希望能得到解答。
-
我知道控制器用于接收来自视图的请求并向视图发出请求以向用户显示结果。我的问题是,我可以在带有控制器注释的类中进行多大程度的处理?我应该在服务注释类中进行所有处理并保持控制器仅用于接收请求和返回响应吗?我想知道最佳做法是什么?
假设我需要调用服务注释类的不同方法来处理结果,我应该从控制器全部调用它们还是将它们传递给服务注释类? (这只是一个例子)
-
如果我不想处理结果而只想向数据库发送请求并接收结果,我还需要在控制器和存储库之间有一个服务注释类吗?
假设我收到一个产品 ID,并想检索并显示产品的详细信息。(这只是一个示例)
【问题讨论】:
-
现在你可能没有任何业务逻辑可以放入服务层,但你永远不知道未来会发生什么。所以最好通过服务类委派您的呼叫。
-
@NamanGala 谢谢第一个要点怎么样?
-
我建议将您的业务逻辑保留在服务层中,并且只查看控制器中的特定代码。对于您的示例,这取决于要求,如果它具有完整的功能,那么我会将其保留在服务层中,如果它只是从存储库中收集一些数据,那么我将仅从控制器进行不同的服务方法调用。
标签: java spring spring-mvc