我想检查 application.yml 中的某个属性,但我不知道如何完成。我认为这是不可能的,因为上下文还没有启动。
public static void main(String[] args) {
// want to check the value of my property
SpringApplication.run(MyAppApplication.class, args);
}
最佳答案
您可以在主类中自由编写和执行一个方法,该方法打开 application.yml、读取和解析它并查找特定属性。这就是 Java 的正前方。这就像任何其他 Java 类一样:
public class MyAppApplication {
public static void main(String[] args) {
// want to check the value of my property
boolean isValid = checkApplicationConfiguration("application.yml");
if (isValid) {
SpringApplication.run(MyAppApplication.class, args);
} else {
System.err.println("Invalid application.yml");
}
}
private static boolean checkApplicationConfiguration(String yamlFileName) {
// put the code to read, parse, and validate here.
}
}
显然你可以使用Jackson读取和解析 YAML。
关于Spring Boot 在 SpringApplication.run 之前检查属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45484916/