package com.xzx.gc.common.utils;
|
|
import org.springframework.beans.BeansException;
|
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.stereotype.Component;
|
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
/**手动获取容器管理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 <T>
|
* @return
|
*/
|
public static <T> T getBean(Class<T> clazz) {
|
return applicationContext.getBean(clazz);
|
}
|
|
/**
|
* Get bean by class name
|
*
|
* @param name
|
* @param <T>
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public static <T> 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 isProdOrCloud() {
|
return applicationContext.getEnvironment().getActiveProfiles()[0].equals("prod")||applicationContext.getEnvironment().getActiveProfiles()[0].equals("cloud");
|
}
|
|
public static boolean isDevOrTestOrCheck() {
|
return applicationContext.getEnvironment().getActiveProfiles()[0].equals("dev")||applicationContext.getEnvironment().getActiveProfiles()[0].equals("test")||applicationContext.getEnvironment().getActiveProfiles()[0].equals("check");
|
}
|
|
|
public static boolean isCloud() {
|
return applicationContext.getEnvironment().getActiveProfiles()[0].equals("cloud");
|
}
|
|
public static boolean isTest() {
|
return applicationContext.getEnvironment().getActiveProfiles()[0].equals("test");
|
}
|
|
public static boolean isCheck(){
|
return applicationContext.getEnvironment().getActiveProfiles()[0].equals("check");
|
}
|
|
public HttpServletRequest getCurrentRequest(){
|
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
|
if(attributes!=null) {
|
HttpServletRequest request = attributes.getRequest();
|
return request;
|
}
|
return null;
|
}
|
|
}
|