Java 将ConstraintValidator实现注册到Constraint

Java 将ConstraintValidator实现注册到Constraint,java,spring,validation,constraints,Java,Spring,Validation,Constraints,由于t应用程序的体系结构,我需要将约束注释与其实现解耦。我正在考虑使用@Size注释中使用的方法,但validatedBy属性没有明确设置: @Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER }) @Retention(RUNTIME) @Documented @Constraint(validatedBy = { }) public @interface Size { .. } 但是我找不到关于如何将实现注册到此

由于t应用程序的体系结构,我需要将约束注释与其实现解耦。我正在考虑使用
@Size
注释中使用的方法,但
validatedBy
属性没有明确设置:

@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { })
public @interface Size { .. }

但是我找不到关于如何将实现注册到此约束的任何信息,通过spring的
@component
注册组件没有帮助,代码失败:
找不到约束的验证器
JSR-303允许您在文件中声明约束

那你也可以

  • 在中引用约束映射文件

    META-INF/validation/order-constraints.xml
    

  • 使用JavaAPI添加约束映射文件

    添加一个以Bean验证XML格式描述约束映射的流

<constraint-mapping>META-INF/validation/order-constraints.xml</constraint-mapping>