首页 > 解决方案 > 从 Spring Boot 主类中读取 application.properties 值

问题描述

在我的 Spring Boot 应用程序中,我在 application.properties 中设置了变量值。我想在主要的 java 类中阅读它。我怎样才能做到这一点?以下代码返回 null。

@SpringBootApplication
public class MyApplication {

@Value( "${spring.shutdown.sleep.time}" )
private static String shutdownSleepTime;

public static void main(String[] args) {
    ConfigurableApplicationContext applicationContext = SpringApplication.run(MysApplication.class, args);
    System.out.println("sleep time : " + shutdownSleepTime);

标签: spring-boot

解决方案


您可以从 applicationContext 读取属性。

public static void main(String[] args) {
    ConfigurableApplicationContext applicationContext = SpringApplication.run(MysApplication.class, args);
    String shutdownSleepTime = applicationContext.getEnvironment().getProperty("spring.shutdown.sleep.time");
}

推荐阅读