如何以静态方法访问当前活动配置文件?

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

我有一个实用程序类,其中包含一堆静态方法,用于更新信任库中的证书。在静态方法中,我需要知道当前活动配置文件的名称。由于它是静态的,我无法传递

@Value("${spring.profiles.active:}")
的值。有更好的方法吗?

项目采用 Java 11 和 Springboot 2.7。

java spring-boot
1个回答
0
投票

你可以尝试做这样的事情:

@组件 公共类 ProfileUtil 实现 ApplicationContextAware {

private static Environment environment;

@Override
public void setApplicationContext(ApplicationContext applicationContext) {
    environment = applicationContext.getEnvironment();
}

public static String getActiveProfile() {
    String[] activeProfiles = environment.getActiveProfiles();
    if (activeProfiles.length > 0) {
        return activeProfiles[0]; // Assuming one active profile
    } else {
        return "default";
    }
}

}

© www.soinside.com 2019 - 2024. All rights reserved.