gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:48 25 4
gpt4 key购买 nike

情况

我正在将 .properties 文件中的属性注入(inject)到用 @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;

关于java - Spring @Value 注解方法,当属性不可用时使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43238583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com