Spring @Value注释方法,当属性不可用时使用默认值

情况

我将 文件中的属性注入到

注释的字段中。但是,此属性提供敏感的凭据,因此我将它们从存储库中删除。我仍然希望在某些情况下想要运行项目并且没有带有凭证的.properties文件,该凭证会将默认值设置为字段。

问题

即使我将默认值设置为字段本身,当.properties文件不存在时,也会出现异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxx': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'secret' in string value "${secret}"

这是带注释的字段:

 @Value("${secret}")

private String ldapSecret = "secret";

我希望在这种情况下只设置纯字符串“ secret”。

回答:

为了准确回答您的问题…

@Value("${secret:secret}")

private String ldapSecret;

为了示例的完整性,下面还有更多变化…

默认字符串为空:

@Value("${secret:#{null}}")

private String secret;

默认数字:

@Value("${someNumber:0}")

private int someNumber;

以上是 Spring @Value注释方法,当属性不可用时使用默认值 的全部内容, 来源链接: utcz.com/qa/425971.html

回到顶部