2009-09-11 42 views
4

我想向Java Bean添加验证。例如,我要做到以下几点:通过注释向Java Beans添加验证

@MaxLength(50) 
@RequiredField 
public void setEmployeeName(String name){ 
    ..... 
} 

我知道我可以编写代码,通过调用method.getDeclaredAnnotation所有的bean值被设置后得到具体的方法的验证。我想避免编写代码

Java6中是否有任何通过注释提供标准验证的东西?我需要aspectj来调用这些注释吗?

在此先感谢。

+0

您应该尝试在没有任何鞋的情况下穿上它 – mkoryak 2009-09-11 19:19:16

+0

看看集成了JSR-303和AspectJ的[jcabi-aspects](http://www.jcabi.com/jcabi-aspects/jsr-303.html) – yegor256 2013-03-07 07:36:22

回答

0

您将能够做到这一点的唯一方法是通过反射和自定义验证实用程序/拦截器/代理。 JSR 303和JSR 305被提议引入类似的功能,但没有这样的存在。

您遇到的问题之一是这些注释需要在某种框架级别处理,或者至少在某种被调用操作之前被截取。最常见的两种方式是通过创建一个实用程序或通过在调用处理程序(代理)中验证预调用来完成此操作。现实情况是,除非内建于Spring,Struts,Guice,Java本身等内容,否则您只会产生不必要的开销,并且最好根据需求检查验证边界。