首页 > 解决方案 > 在 Spring Boot 中从 application.yml 文件中读取数字

问题描述

步骤1:

我想在 Spring 上阅读配置文件几分钟,如下图所示:

在此处输入图像描述

我使用了这段代码:

Environment environment = context.getEnvironment();
log.info("output number:", environment.getProperty("shafagh.job.msg.cron"));

输出:

output number: 0 0/55 8-13 

但这整行又回来了,我只想返回一个数字(0/55)

第2步:

0/55转换为 time 或 int ?

标签: javaspringspring-boot

解决方案


好的,对于第 1 步,只需解析字符串。有很多可能的方法,但我认为这个就足够了:

public static void main(String[] args) {
    String cron = "0 0/55 8-13 ? * SAT,SUN,MON,TUE,WED";
    String[] parts = cron.split("\\s");
    System.out.println("Wanted part is: " + parts[1]); // "0/55"
}

对于第 2 步,您需要了解这个表达式的真正含义以及如何在 Java 中表示它。我个人不知道你从那部分真正需要什么(只是频率?偏移量?他们两个?)所以我无法回答那部分。您知道为什么要将其转换为字符串以外的其他类型吗?


推荐阅读