Hibernate 当我们有验证器时,为什么要使用拦截器或过滤器
我正在学习spring框架,对何时使用拦截器和何时使用验证器感到困惑。Hibernate和JSR提供了大量的验证注释,那么拦截器有什么用呢。假设我们想检查字段是否为空,那么JSR注释或拦截器的推荐方式是什么Hibernate 当我们有验证器时,为什么要使用拦截器或过滤器,hibernate,spring-mvc,interceptor,Hibernate,Spring Mvc,Interceptor,我正在学习spring框架,对何时使用拦截器和何时使用验证器感到困惑。Hibernate和JSR提供了大量的验证注释,那么拦截器有什么用呢。假设我们想检查字段是否为空,那么JSR注释或拦截器的推荐方式是什么 我只是想知道什么时候应该选择拦截器而不是验证器。拦截器和验证是独立的概念,可能一起工作,也可能不一起工作。它们没有任何排他性或冲突 过滤器和拦截器是非常适合横切关注点的结构,以及与业务逻辑没有直接关系的可重用代码。验证就是这样一个问题,但日志记录、审计和安全性也是如此 过滤器和拦截器也以se
我只是想知道什么时候应该选择拦截器而不是验证器。拦截器和验证是独立的概念,可能一起工作,也可能不一起工作。它们没有任何排他性或冲突 过滤器和拦截器是非常适合横切关注点的结构,以及与业务逻辑没有直接关系的可重用代码。验证就是这样一个问题,但日志记录、审计和安全性也是如此 过滤器和拦截器也以servlet或Spring控制器处理程序方法的生命周期为中心,它们关注的是在之前或之后执行的逻辑 验证没有这个方面,通常情况下,您将在处理程序之前进行验证,但给定特定的上下文,您可以做出其他决定
关于纳罗斯的评论。正如他所提到的。验证规范背后的主要目的是促进验证逻辑的重用,因为这是一种通常涉及并在不同层中执行的问题
如前所述,不同的概念,针对不同的问题。拦截器,你是指类似spring的
HandlerInterceptorAdapter
还是指Hibernate拦截器?spring拦截器我认为重要的不仅仅是在处理程序之前进行验证,但服务/业务层或持久性层也应该这样做。当您在多个项目中共享持久性或服务层代码,而其他项目不是基于web的时,这一点尤为重要。