当前位置: 首页 > 面试题库 >

是否存在使用带注释的方法参数启用JSR 303 Bean验证的标准方法

杨骏
2023-03-14
问题内容

我已经四处寻找,没有运气。我 没有 使用Spring
MVC,但仍想使用它@javax.validation.Valid来启用方法参数的验证。举个例子

public class EventServiceImpl implements IEventService {
    @Override
    public void invite(@Valid Event event, @Valid User user) { ... }
}

使用MVC,@Controller可以通过简单的方法对带注释的Bean 启用此功能<mvc:annotation- driven/>(请参阅5.7.4.3配置供Spring
MVC使用的JSR-303验证器
)。

使用AOP应该很简单。尽管如此,我怀疑有一些标准的方法可以做到这一点。因此出现了一个问题:对于非MVC应用程序和非控制器bean,是否有类似的事情来启用带注释的bean的输入验证?


问题答案:

方法级别验证不是Bean验证规范(JSR
303)的一部分。方法级别验证是附录C中添加的规范中的建议。

Hibernate Validator 4.2(已经有beta版)正在实施此建议,并允许在方法参数和返回值上放置JSR
303注释。当然,您仍然需要一些Spring胶水代码,但这应该不太难。

Bean Validation
1.1还将正式在方法规范中添加方法级别的验证(不仅仅是作为附录/推荐)。另请参阅http://beanvalidation.org/



 类似资料:
  • 我在我的Spring Boot应用程序中使用KafkaListener接口,它工作得很好。偏移量由Kafka本身存储。 现在,让我们假设一个主题的消费者部署了一个新版本,并且浪费了2小时的消息。然后,他们修复了应用程序,并希望启动新版本,与两个小时前有所不同。 我可以在以前的consumer.offsetsForTimes()调用中使用consumer.seek(),但这只在使用轮询机制时是直接的

  • 问题内容: 我刚刚开始在Java 8中使用注释,并得到了一些意外的结果。 我有这样的方法: 我编写了一个JUnit测试,为参数searchList传递了空值。我原以为会发生某种类型的错误,但好像没有注释就通过了。这是预期的行为吗?据我了解,这是允许您跳过编写样板空检查代码。 对于@NotNull应该做什么的解释将不胜感激。 问题答案: 和自己做什么。它们应该充当文档工具。 该注释提醒您在以下情况下

  • 我编写了一个JUnit测试,为参数searchingList传入null值。我原以为会发生某种类型的错误,但结果好像注释不在那里一样。这是意料之中的行为吗?根据我的理解,这是允许您跳过编写样板空校验代码。 如果能解释一下@NotNull到底应该做什么,将会非常感谢。

  • 本文向大家介绍PHP自带方法验证邮箱是否存在,包括了PHP自带方法验证邮箱是否存在的使用技巧和注意事项,需要的朋友参考一下 PHP校验邮箱地址的方法很多, 比较常用的就是自己写正则了, 不过正则多麻烦, 我PHP自带了方法做校验。 filter_var filter_var是PHP内置的一个变量过滤的方法, 提供了很多实用的过滤器, 可以用来校验整数、浮点数、邮箱、URL、MAC地址等。 filt

  • 我有一个可用于注释的方面: 连接点: 我可以在具有

  • 我创建了自定义注释。我将用它来注释方法参数。 我在这里找到了一些示例代码,展示了如何创建针对自定义注释的切入点。 所以现在,我创建了一个带切入点的方面。但是我不知道如何获得用注释的参数值。