Java 寻找基于AOP和注释的方法参数验证框架

Java 寻找基于AOP和注释的方法参数验证框架,java,validation,annotations,aop,arguments,Java,Validation,Annotations,Aop,Arguments,我正在寻找参数验证框架: 1) 允许通过注释(如OVal、JaValid)指定参数约束 2) 验证代码(在编译或运行时)自动注入方法(即不需要显式调用Validator对象) 我正在寻找的示例: 公共阶层人士{ 私有字符串名称; .... //方法,该方法应验证哪些参数 public void setName(@NotBlank String name){ // 我想你的意思是“在编译或运行时自动注入”,对吗 我也有同样的问题,我的解决方案是Spring验证和自行编写的AOP层(大约三个类)

我正在寻找参数验证框架:
1) 允许通过注释(如OVal、JaValid)指定参数约束
2) 验证代码(在编译或运行时)自动注入方法(即不需要显式调用Validator对象)

我正在寻找的示例:

公共阶层人士{
私有字符串名称;
....
//方法,该方法应验证哪些参数
public void setName(@NotBlank String name){
// 我想你的意思是“在编译或运行时自动注入”,对吗

我也有同样的问题,我的解决方案是Spring验证和自行编写的AOP层(大约三个类)

我的验证代码如下所示:

@验证(验证器)= {“com.mycompany.MyValidator”})

公共void myMethod(字符串paramToValidate)


感谢您的提示-更正了这个问题。自编AOP层是最明显的解决方案,我也有类似的想法(OVal+Javassist),但我仍然希望有现成的解决方案来避免不必要的编码。我找到了一个合适的解决方案(顺便说一句,它在OVal文档中),-可以将OVal与Spring AOP集成,例如使用DefaultAdvisorAutoProxyCreator。这仍然不是完美的解决方案(因为它需要使用Spring,并且OVal约束不是我想要的特定类型)。 public class Person { private String name; .... //Method which arguments should be validated public void setName(@NotBlank String name){ //<---validating code should be injected here this.name = name; } } //Example of call to the validated method ... Person person = new Person(); person.setName("John"); ... ... Validator validator = new Validator(...);//glue code Person person = new Person(); person.setName("John"); validator.validate(person);//glue code ...