java - 如果 application.properties 中缺少一个键,如何初始化另一个键的值

标签 java spring-boot java-8

如果 application.properties 中缺少一个键,我需要初始化另一个键的值。

例如,我有两个键 abc 和 xyz,其中在 application.properties 中只能找到一个。

但是还有另一个实用程序会在我的 springboot 应用程序启动之前将键和值写入 application.properties。

所以我需要相应地读取 key 。

有没有办法从application.properties中读取值,这样如果abc存在,则读取abc的值,否则读取xyz。

但是我需要将值读入同一个 java 变量,无论 application.properties 中存在什么键。

任何线索都将受到高度赞赏。

我的代码:

public class Sample {
    public static Integer CONNECT_INACTIVITY_TIME_LIMIT;
    public static Integer MAX_NUM_CONNECTION;       

    @Value("${accessKey.connectionTimeInactivityLimit}")
    public void setConnectTimeLimit(Integer CONNECT_INACTIVE_TIME_LIMIT) {
        Sample.CONNECT_INACTIVITY_TIME_LIMIT = CONNECT_INACTIVE_TIME_LIMIT;
    }

    @Value("${accessKey.maxConnectionNumber}")
    public void setMaxConnectionNumber(Integer MAX_NUM_CONNECTION) {
        Sample.MAX_NUM_CONNECTION = MAX_NUM_CONNECTION;
    }
}

最佳答案

你可以这样做:

@Value("${accessKey.connectionTimeInactivityLimit:${accessKey.maxConnectionNumber}}")

如果第一个属性不存在,则将使用第二个属性分配值。

关于java - 如果 application.properties 中缺少一个键,如何初始化另一个键的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53885691/

相关文章:

java - 了解 JVM 堆打印输出中的元空间行

java - 为什么 Hashtable 不是 Java Collection 框架的一部分?

java - 检索 JPQL、EclipseLink 和 MySQL 中的实体

java - 为请求映射 header spring 创建自定义注释

java - Optional.flatMap 和 Optional.map 有什么区别?

java - 是否可以将流收集到两个收集器中

java - gRPC maven 未在目标文件夹中生成 stub 类

java - 从 XML 文件配置 JNDI InitialContext

java - 如果启动时没有代理可用,Spring Integration Kafka 3.0.1 -> 3.1.2 测试现在无法启动

java - 如何将 MultipartFile 转换为 FileSystemResource