我有一个实用程序类,其中包含一堆静态方法,用于更新信任库中的证书。在静态方法中,我需要知道当前活动配置文件的名称。由于它是静态的,我无法传递
@Value("${spring.profiles.active:}")
的值。有更好的方法吗?
项目采用 Java 11 和 Springboot 2.7。
你可以尝试做这样的事情:
@组件 公共类 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";
}
}
}