如何从单个类访问环境变量作为静态和最终常量

问题描述 投票:0回答:2

我有一个实用程序文件,其中包含项目中到处引用的最终静态常量列表。现在我需要从 application.properties 引用常量,因为它们是静态的我不能做@Value,任何与常量文件有关但不影响其使用区域的更简单的方法

试过 environment.getProperty("") 但这和@Value有同样的问题

spring-boot static-variables application.properties
2个回答
0
投票

你可以试试这个方法:

@Value("${name}")
private String name;

private static String NAME_STATIC;

@Value("${name}")
public void setNameStatic(String name){
    PropertyController.NAME_STATIC = name;
}

0
投票

创建一个类并用

@Configuration
注释它。将其设置在静态块中。然后你可以通过
EnvVar.VAR_1

访问你的环境变量
@Configuration
public class EnvVar {

  private static final String ENV_VAR_NAME = "APP_CONTEXT";

  public static final String VAR_1;

  static {
    VAR_1 = System.getenv(ENV_VAR_NAME);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.