Spring 在 SpringApplication.run 之前启动检查 属性
Spring boot check property before SpringApplication.run
我想检查 application.yml 中的某个 属性,但我不知道如何完成。我觉得不可能,因为context还没有启动起来
public static void main(String[] args) {
// want to check the value of my property
SpringApplication.run(MyAppApplication.class, args);
}
您可以在主 class 中自由编写和执行打开 application.yml、读取和解析它并查找特定 属性 的方法。就在前面 Java。这就像任何其他 Java class:
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。
我想检查 application.yml 中的某个 属性,但我不知道如何完成。我觉得不可能,因为context还没有启动起来
public static void main(String[] args) {
// want to check the value of my property
SpringApplication.run(MyAppApplication.class, args);
}
您可以在主 class 中自由编写和执行打开 application.yml、读取和解析它并查找特定 属性 的方法。就在前面 Java。这就像任何其他 Java class:
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。