package com.xzx.log.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /**手动获取容器管理bean的工具类 */ @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext ctx) throws BeansException { applicationContext = ctx; } /** * Get application context from everywhere * * @return */ public static ApplicationContext getApplicationContext() { return applicationContext; } /** * Get bean by class * * @param clazz * @param * @return */ public static T getBean(Class clazz) { return applicationContext.getBean(clazz); } /** * Get bean by class name * * @param name * @param * @return */ @SuppressWarnings("unchecked") public static T getBean(String name) { return (T) applicationContext.getBean(name); } /** * @Description: 获取当前运行环境 * @Param: [] * @return: java.lang.String * @Author: zan.zhong * @Date: 2019/3/28 */ public static String getActiveProfile() { return applicationContext.getEnvironment().getActiveProfiles()[0]; } public static boolean isDev() { return applicationContext.getEnvironment().getActiveProfiles()[0].equals("dev"); } public static boolean isProd() { return applicationContext.getEnvironment().getActiveProfiles()[0].equals("prod"); } public static boolean isCloud() { return applicationContext.getEnvironment().getActiveProfiles()[0].equals("cloud"); } public static boolean isTest() { return applicationContext.getEnvironment().getActiveProfiles()[0].equals("test")||applicationContext.getEnvironment().getActiveProfiles()[0].equals("check"); } }