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