在哪一层我应该检查是否存在(某事)?

时间:2016-01-03 08:27:40

标签: spring spring-mvc model-view-controller spring-web

假设我有用户实体。我想检查数据库中是否存在用户ID。我知道如何检查,但在哪一层?那个最好,更容易理解的层是什么?

在我看来,它应该是Controller层。但我不认为它会顺利。我从来没有见过在示例项目中检查User Controller类的额外方法。也许我错过了什么,你觉得怎么样?

2 个答案:

答案 0 :(得分:1)

它应该在模型方面。控制器应该只控制说从模型流到视图。

一旦从存储库获取数据,它应该是您的服务,它应该检查您是否获得了数据并做出相应的反应。

答案 1 :(得分:0)

在我看来,这取决于您希望如何处理结果。例如,如果您只想检查用户是否存在,那么我会在DAO上放置一个方法。

然而如果你当时说我有一个用户,现在我要做点什么。我建议只是加载用户并检查null。这样你就不会去DB了两次。如果您的缓存设置正确,则不是真正的问题。我假设没有启用缓存。

我总是建议在控制器和数据层之间建立一个层,只是为了提供域特定逻辑。让您的Controller免费进行路由,并将数据层清理干净,仅用于数据访问。