package com.java110.utils.factory; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import java.util.Locale; /** * Created by wuxw on 2017/4/25. */ public class ApplicationContextFactory { private static ApplicationContext applicationContext; public static void setApplicationContext(final ApplicationContext applicationContext) throws BeansException { ApplicationContextFactory.applicationContext = applicationContext; } public static Object getBean(Class className){ return applicationContext.getBean(className); } public static Object getBean(String beanName){ return applicationContext.getBean(beanName); } public static T getBean(String beanName,Class t){ Object bean = applicationContext.getBean(beanName); if(bean != null && t.isAssignableFrom(bean.getClass()) ){ return (T)bean; } return null; } /** * 获取应用名称 * @return */ public static String getApplicationName(){ return applicationContext.getEnvironment().getProperty("spring.application.name"); } // 国际化使用 public static String getMessage(String key) { return applicationContext.getMessage(key, null, Locale.getDefault()); } /// 获取当前环境 public static String getActiveProfile() { return applicationContext.getEnvironment().getActiveProfiles()[0]; } }