我正在学习spring框架,我对何时使用Interceptor和何时使用Validator感到困惑。Hibernate和JSR提供了大量的验证注释,那么拦截器有什么用呢?假设我们想要检查字段是否为空,那么推荐的方式是JSR注解还是拦截器。
我只想知道什么时候我应该选择拦截器而不是验证器。
发布于 2017-02-15 16:23:25
拦截器和验证是两个独立的概念,它们可能会一起工作,也可能不会一起工作。它们不是排他性的,也不是冲突的。
过滤器和拦截器是非常适合横切关注点的构造,以及与业务逻辑没有直接关系的可重用代码。验证是其中一个问题,日志记录、审计和安全性也是如此。
过滤器和拦截器也以Servlets或Spring Controller处理程序方法的生命周期为中心,它们关注的是在执行之前或之后执行的逻辑。
验证没有这方面,通常情况下,您将在处理程序之前进行验证,但给定特定的上下文,您可以选择不同的方式。
关于Naros的评论。就像他提到的。验证规范背后的主要意图是促进验证逻辑的重用,因为这是一种通常涉及并在不同层中执行的关注点。
所以如上所述,分开的概念,针对不同的问题。
https://stackoverflow.com/questions/42243894
复制相似问题