编程语言
首页 > 编程语言> > java – 是否有使用带注释的方法参数启用JSR 303 Bean Validation的标准方法

java – 是否有使用带注释的方法参数启用JSR 303 Bean Validation的标准方法

作者:互联网

我一直在寻找一段时间没有运气.我没有使用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 Configuring a JSR-303 Validator for use by Spring MVC).

使用AOP应该是非常简单的.不过,我怀疑有一些标准的方法可以做到这一点.因此,问题是:对于非MVC应用程序和非控制器bean,是否存在类似的事情,以便为带注释的bean启用输入验证?

解决方法:

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

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

此外,Bean Validation 1.1将正式添加方法级别验证(不仅仅是附录/建议).另见http://beanvalidation.org/

标签:hibernate-validator,java,spring,aop,bean-validation
来源: https://codeday.me/bug/20191004/1854181.html