我使用 @ConfigurationProperties
注释从属性文件填充了以下 Test.java POJO 类。我已经看到使用 @Required
注释使其成为必需的。
不是在 setter 方法级别定义注释,而是在 @Value
注释中是否有任何注释或选项可用于定义 Mandatory、NotNull 等条件?
@Component
@ConfigurationProperties(prefix = "com.test")
public class Test {
private String name;
@Required
public void setName(String name) {
name = name;
}
public String getName(String name) {
name = name;
}
}
这是强制特定属性的唯一正确方法吗?我可以将哪些其他此类注释用于此类条件或验证目的?
最佳答案
您可以对属性使用验证,只是不是以您设想的方式。
您可以做的是在字段(或 setter )本身上使用标准验证注释(如 @NotNull
等)。
例如
@NotNull
@Size(min=2, max=10)
private String name;
查看 this部分文档
文档基本上说的是,您只需在类路径上有一个兼容的 JSR303 validator 实现,并使用相关的注释。 Spring Boot 会处理剩下的事情
关于java - 如何强制通过@Value 注释进行属性注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30865475/