![](/img/trans.png)
[英]How to use a Spring @Value from properties to set an annotation attribute
[英]How to set max value in @Size annotation from properties file?
我正在使用Hibernate Validator版本5.3.0。
以下是我要验证的课程。
public class DocumentRequest {
@NotEmpty(message="{invalid.docId}")
private String docId;
@NotEmpty(message="{invalid.title}")
@Size(max=200, message="{invalid.title}")
private String title;
}
这里的问题是@Size
的最大值是一个“魔术”数字(引用Sonar
)。 如何从属性文件设置它?
我尝试将其添加如下:
public class DocumentRequest {
@NotEmpty(message="{invalid.docId}")
private String docId;
@NotEmpty(message="{invalid.title}")
@Size(max="{max.default.value}", message="{invalid.title}")
private String title;
}
我在validation.properties文件中添加了max.default.value
,但是最大值可以是int
,我正在将String
传递给它。 因此,结果是:
Type mismatch: cannot convert from String to int
有什么办法可以做到这一点?
仅仅因为Sonar抱怨某事并不意味着您的代码很糟糕。
如果您将此“魔术”值放入班级顶部的private static final
,Sonar将很高兴。 无需将其设置为属性(我怀疑如果以后有人决定更改此设置,您的系统会反应良好)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.