如果缺少@ConfigurationProperties类的任何属性,如何在启动期间使Spring-Boot失败?

如果我改用@Value(...),则自动装配会按预期失败,但我想将所有属性集中到@ConfigurationProperties类中,而不要使用通过应用程序传播的@Value引用。

代码:

@Component
@ConfigurationProperties(value = "serving.api", ignoreUnknownFields = false)
public class ApplicationProperties {

    private String projectId;

    private String bigTableInstanceId;

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId;
    }

    public String getBigTableInstanceId() {
        return bigTableInstanceId;
    }

    public void setBigTableInstanceId(String bigTableInstanceId) {
        this.bigTableInstanceId = bigTableInstanceId;
    }

}

最佳答案

您可以通过在必需属性中添加@NotNull验证器来实现此目的。例如:

@NotNull
private String projectId;

public void setProjectId(String projectId) {
    this.projectId = projectId;
}

关于java - 如果缺少属性,Spring Boot不会失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42560472/

10-10 08:21