如何从java获取spring概要文件名
对于每个配置文件,我都有一个单独的spring yaml配置文件 我需要从如何从java获取spring概要文件名,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,对于每个配置文件,我都有一个单独的spring yaml配置文件 我需要从CommandLineRunner子类读取配置文件并执行适当的脚本 有没有一种从java获取环境概要文件名称的方法 我试过这个: environment.getActiveProfiles(); 但它只返回一个空字符串数组 你有活动的个人资料吗?如果不是,则不显示任何内容 您还可以使用environment.getProperty(“spring.profiles.active”)获取活动的概要文件 你有活动的个人资料
CommandLineRunner
子类读取配置文件并执行适当的脚本
有没有一种从java获取环境概要文件名称的方法
我试过这个:
environment.getActiveProfiles();
但它只返回一个空字符串数组
environment.getProperty(“spring.profiles.active”)
获取活动的概要文件environment.getProperty(“spring.profiles.active”)
获取活动的概要文件这个方法对我很管用
private static final String SPRING_PROFILES_ACTIVE = "SPRING_PROFILES_ACTIVE";
protected void setSpringProfile(ServletContext servletContext) {
if(null!= System.getenv(SPRING_PROFILES_ACTIVE)){
profile=System.getenv(SPRING_PROFILES_ACTIVE);
}else if(null!= System.getProperty(SPRING_PROFILES_ACTIVE)){
profile=System.getProperty(SPRING_PROFILES_ACTIVE);
}else{
profile="local";
}
log.info("***** Profile set ---> "+ profile);
}
我同时使用System.getenv和System.getProperty,因为我发现在本地系统中System.getProperty起作用,但在docker容器系统中,getenv()起作用
此外,我将配置文件默认为“本地”配置文件,以防未设置任何内容 这个方法对我很有效
private static final String SPRING_PROFILES_ACTIVE = "SPRING_PROFILES_ACTIVE";
protected void setSpringProfile(ServletContext servletContext) {
if(null!= System.getenv(SPRING_PROFILES_ACTIVE)){
profile=System.getenv(SPRING_PROFILES_ACTIVE);
}else if(null!= System.getProperty(SPRING_PROFILES_ACTIVE)){
profile=System.getProperty(SPRING_PROFILES_ACTIVE);
}else{
profile="local";
}
log.info("***** Profile set ---> "+ profile);
}
我同时使用System.getenv和System.getProperty,因为我发现在本地系统中System.getProperty起作用,但在docker容器系统中,getenv()起作用
此外,我将配置文件默认为“本地”配置文件,以防未设置任何内容