我想为Java Bean添加验证。例如,我想要执行以下操作:
@MaxLength(50)
@RequiredField
public void setEmployeeName(String name){
.....
}
我知道在设置了所有bean值之后,我可以通过调用method.getDeclaredAnnotation
来编写获取特定方法验证的代码。我想避免编写此代码
Java6中是否有通过注释提供标准验证的内容?我是否需要aspectj来调用这些注释?
提前感谢。
答案 0 :(得分:1)
您可以使用Bean Validation Framework。这是简短的概述 http://relation.to/Bloggers/BeanValidationSneakPeekPartI
答案 1 :(得分:0)
看看JSR 303。 RI(参考实施)为here,also a nice tutorial。不,你不需要AspectJ。
答案 2 :(得分:0)
您能够做到这一点的唯一方法是通过反射和自定义验证实用程序/拦截器/代理。 JSR 303和JSR 305被提议引入类似的功能,但不存在这样的情况。
您将遇到的一个问题是,这些注释需要在某种框架级别处理,或者至少在某种类型的调用操作之前被截获。最常见的两种方法是,通过创建实用程序或通过在调用处理程序(代理)中验证预调用来完成这种方式。
现实情况是,除非将其内置到Spring,Struts,Guice,Java本身等中,否则您只需创建不必要的开销,并且最好根据需要检查验证边界。