Spring Boot 如何从单个类中访问环境变量作为static和final常量

new9mtju  于 2023-04-30  发布在  Spring
关注(0)|答案(2)|浏览(139)

我有一个实用程序文件,其中有一个最终的静态常量列表,该列表在项目中的任何地方都被引用。现在我需要从www. example引用的常量 www.example.com ,因为它们是静态的,所以我不能使用@Value,任何与常量文件有关的更简单的方法都不会影响其使用范围
试过的环境getProperty(“”),但它与@Value有相同的问题

zbsbpyhn

zbsbpyhn1#

你可以试试这个方法:

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

private static String NAME_STATIC;

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

qxgroojn2#

创建一个类并使用@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);
  }
}

相关问题