| New file |
| | |
| | | package com.genersoft.iot.vmp.utils; |
| | | |
| | | import org.springframework.beans.BeansException; |
| | | import org.springframework.context.ApplicationContext; |
| | | import org.springframework.context.ApplicationContextAware; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * @description:spring bean获取工厂,获取spring中的已初始化的bean |
| | | * @author: swwheihei |
| | | * @date: 2019年6月25日 下午4:51:52 |
| | | * |
| | | */ |
| | | @Component |
| | | public class SpringBeanFactory implements ApplicationContextAware { |
| | | |
| | | // Spring应用上下文环境 |
| | | private static ApplicationContext applicationContext; |
| | | |
| | | /** |
| | | * 实现ApplicationContextAware接口的回调方法,设置上下文环境 |
| | | */ |
| | | @Override |
| | | public void setApplicationContext(ApplicationContext applicationContext) |
| | | throws BeansException { |
| | | SpringBeanFactory.applicationContext = applicationContext; |
| | | } |
| | | |
| | | public static ApplicationContext getApplicationContext() { |
| | | return applicationContext; |
| | | } |
| | | |
| | | /** |
| | | * 获取对象 这里重写了bean方法,起主要作用 |
| | | */ |
| | | public static <T> T getBean(String beanId) throws BeansException { |
| | | if (applicationContext == null) { |
| | | return null; |
| | | } |
| | | return (T) applicationContext.getBean(beanId); |
| | | } |
| | | |
| | | /** |
| | | * 获取当前环境 |
| | | */ |
| | | public static String getActiveProfile() { |
| | | return applicationContext.getEnvironment().getActiveProfiles()[0]; |
| | | } |
| | | |
| | | } |