gpt4 book ai didi

java - 防止空 @Value 的运行时失败

转载 作者:行者123 更新时间:2023-12-02 11:05:09 24 4
gpt4 key购买 nike

我正在尝试加载 keystore 并检查过期日期。所以说我有两个值

@Value(“${connections.keystoreA}”)
private String keystoreA;

@Value(“${connections.keystoreB}”)
private String keystoreB;

有些环境具有其中一个值,有些环境则两者都有。我的问题是,除了使用默认值之外,是否有任何方法可以防止在运行时失败(如果其中一个值不存在)?

编辑:我也想这样做,以便将来可以添加其他配置,keystoreC、keystoreD 等

最佳答案

您可以在 application.properties 中执行 if/else 并设置默认值。例如,您的 application.properties 可能类似于:

my.connections.keystoreA=${connections.keystoreA:defaultA}
my.connections.keystoreB=${connections.keystoreB:defaultB}

想法是:如果connections.keystoreA不存在,则将注入(inject)字符串defaultA

之后,您可以注入(inject)值:

@Value("${my.connections.keystoreA}") 
private String keystoreA;
@Value("${my.connections.keystoreB}")
private String keystoreB;

这样做,spring就不会在运行时失败。

另一种选择是在必要时直接在字段中使用此 if/else 来设置默认值:

@Value("${connections.keystoreA:defaultA}") 
private String keystoreA;
@Value("${connections.keystoreB:defaultB}")
private String keystoreB;

关于java - 防止空 @Value 的运行时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51029636/

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