SpringBoot中获取spring.profiles.active

SpringBoot中获取spring.profiles.active

 

@Configuration
public class ApplicationContextUtils implements ApplicationContextAware {

    private static Logger logger = LoggerFactory.getLogger(ApplicationContextUtils.class);
    
    public static String ACTIVE_PROFILES = null;
    private static ApplicationContext applicationContext = null;
    
    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if(null == ApplicationContextUtils.applicationContext) {
            ApplicationContextUtils.applicationContext = applicationContext;
        }
    }
    
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    public static Object getBean(String name) {
        return applicationContext.getBean(name);
    }
    
    public static <T> T getBean(Class<T> clazz) {
        return applicationContext.getBean(clazz);
    }
    
    public static String getActiveProfile() {
        return applicationContext.getEnvironment().getActiveProfiles()[0];
    }
}
posted @ 2018-09-06 15:25  Se7end  阅读(2019)  评论(0编辑  收藏  举报