【发布时间】:2016-06-17 16:30:40
【问题描述】:
我有一个验证实体类值的弹簧组件,
其中一个变量有一个自定义注释,其值应该从属性文件中加载,目前它说Attribute must be constant
这里是示例代码。
我知道 Spring 允许获取这样的属性
@Value("${allowedNames}")
private String names;
但我有一个实体,其中一个变量由自定义验证器接口注释,即@NameValidationDefinition。我想将属性文件中的值传递给注释,但它给出了编译时错误,即属性必须是常量,据我所知,我理解
Annotations take only constants or final and static declared primitives or Strings
public Class Person {
@NameValidationDefinition(values = names)
private String name;
}
我想知道的是,有没有一种解决方法可以让它发挥作用?
默认情况下,属性文件中的值转换为字符串,但是当我创建实体并将变量初始化为静态最终变量并在构造函数中传递字符串时,我得到了相同的编译时错误。
我将不胜感激任何形式的帮助。
【问题讨论】:
标签: java spring validation annotations bean-validation