当我们有Validator时,为什么要使用Interceptor或Filters

时间:2017-02-15 08:14:37

标签: hibernate spring-mvc interceptor

我正在学习spring框架,我很困惑何时使用Interceptor以及何时使用Validator。 Hibernate和JSR提供了大量的验证注释,因此拦截器的使用是什么。假设我们要检查字段是否为空,那么JSR注释或拦截器的推荐方式是什么。

我只是想知道何时应该选择拦截器而非验证器。

1 个答案:

答案 0 :(得分:0)

拦截器和验证是单独的概念,可能会也可能不会一起工作。它们不以任何方式排他性或冲突。

过滤器和拦截器是非常适合横切关注点的构造,以及与业务逻辑无直接关系的可重用代码。验证就是这样一个问题,但是日志记录,审计和安全性也是如此。

过滤器和拦截器也以Servlet或Spring Controller处理程序方法的生命周期为中心,它们关注的是在之前或之后执行的逻辑。

验证没有这个方面,通常,您将在处理程序之前进行验证,但在给定某个上下文的情况下,您可以另行决定。

关于纳罗斯的评论。正如他所说。验证规范背后的主要目的是促进验证逻辑的重用,因为这是通常涉及并在不同层中执行的关注点。

如上所述,针对不同问题的单独概念。