Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 当我们有验证器时,为什么要使用拦截器或过滤器_Hibernate_Spring Mvc_Interceptor - Fatal编程技术网

Hibernate 当我们有验证器时,为什么要使用拦截器或过滤器

Hibernate 当我们有验证器时,为什么要使用拦截器或过滤器,hibernate,spring-mvc,interceptor,Hibernate,Spring Mvc,Interceptor,我正在学习spring框架,对何时使用拦截器和何时使用验证器感到困惑。Hibernate和JSR提供了大量的验证注释,那么拦截器有什么用呢。假设我们想检查字段是否为空,那么JSR注释或拦截器的推荐方式是什么 我只是想知道什么时候应该选择拦截器而不是验证器。拦截器和验证是独立的概念,可能一起工作,也可能不一起工作。它们没有任何排他性或冲突 过滤器和拦截器是非常适合横切关注点的结构,以及与业务逻辑没有直接关系的可重用代码。验证就是这样一个问题,但日志记录、审计和安全性也是如此 过滤器和拦截器也以se

我正在学习spring框架,对何时使用拦截器和何时使用验证器感到困惑。Hibernate和JSR提供了大量的验证注释,那么拦截器有什么用呢。假设我们想检查字段是否为空,那么JSR注释或拦截器的推荐方式是什么


我只是想知道什么时候应该选择拦截器而不是验证器。

拦截器和验证是独立的概念,可能一起工作,也可能不一起工作。它们没有任何排他性或冲突

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

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

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


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


如前所述,不同的概念,针对不同的问题。

拦截器,你是指类似spring的
HandlerInterceptorAdapter
还是指Hibernate拦截器?spring拦截器我认为重要的不仅仅是在处理程序之前进行验证,但服务/业务层或持久性层也应该这样做。当您在多个项目中共享持久性或服务层代码,而其他项目不是基于web的时,这一点尤为重要。