Java @validation.api中的模式要在一个属性文件中配置所有模式

Java @validation.api中的模式要在一个属性文件中配置所有模式,java,regex,spring,validation,Java,Regex,Spring,Validation,有人能帮我从validation-api.1.1.jar配置@Pattern注释吗 @Pattern(regex=“Pattern”)此配置很简单,但我的要求是有一个包含所有模式的中心文件,其中键和值为Pattern.e属性文件 非常感谢您的帮助。不幸的是,从本质上讲,拥有一个包含模式正则表达式的属性文件来与@pattern注释一起使用是不可行的,因为Java要求注释使用编译时常量。这些编译时正则表达式无法从属性文件中检索,因为属性文件无法在编译时解析;属性文件在运行时被解析 也就是说,您可以将

有人能帮我从validation-api.1.1.jar配置@Pattern注释吗

@Pattern(regex=“Pattern”)此配置很简单,但我的要求是有一个包含所有模式的中心文件,其中键和值为Pattern.e属性文件


非常感谢您的帮助。

不幸的是,从本质上讲,拥有一个包含模式正则表达式的属性文件来与
@pattern
注释一起使用是不可行的,因为Java要求注释使用编译时常量。这些编译时正则表达式无法从属性文件中检索,因为属性文件无法在编译时解析;属性文件在运行时被解析

也就是说,您可以将所有编译时常量正则表达式模式保留在一个中心类或接口中。例如,考虑下面的代码:

public class FooClass {
  @Pattern(regex = Patterns.FOO_PATTERN)
  public void foo() {}
}

public class BarClass {
  @Pattern(regex = Patterns.BAR_PATTERN)
  public void bar() {}
}

public class Patterns {
  public static final String BAR_PATTERN = "bar?";
  public static final String FOO_PATTERN = "foo*";
}
如您所见,您可以拥有一个公共类,其中保存所有正则表达式模式字符串。我希望这有帮助