将 bizType 和 bizId 进行封装,实现 SkyWalking Tag 检索

This commit is contained in:
dark
2021-03-06 22:29:11 +08:00
parent 3018866c62
commit 4cc45d73fb
5 changed files with 93 additions and 4 deletions

View File

@@ -0,0 +1,83 @@
package cn.iocoder.dashboard.util.sping;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class SpringBeanUtil implements ApplicationContextAware {
/**
* Spring context
*/
private static ApplicationContext applicationContext = null;
public void setApplicationContext(ApplicationContext context) throws BeansException {
if (applicationContext == null) {
applicationContext = context;
}
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static void setAppCtx(ApplicationContext webAppCtx) {
if (webAppCtx != null) {
applicationContext = webAppCtx;
}
}
/**
* 拿到ApplicationContext对象实例后就可以手动获取Bean的注入实例对象
*/
public static <T> T getBean(Class<T> clazz) {
return getApplicationContext() == null ? null : getApplicationContext().getBean(clazz);
}
public static <T> T getBean(String name, Class<T> clazz) throws ClassNotFoundException {
return getApplicationContext() == null ? null : getApplicationContext() .getBean(name, clazz);
}
public static final Object getBean(String beanName) {
return getApplicationContext() == null ? null : getApplicationContext() .getBean(beanName);
}
public static final Object getBean(String beanName, String className) throws ClassNotFoundException {
Class<?> clz = Class.forName(className);
return getApplicationContext() == null ? null : getApplicationContext() .getBean(beanName, clz.getClass());
}
public static boolean containsBean(String name) {
return getApplicationContext() == null ? null : getApplicationContext() .containsBean(name);
}
public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
return getApplicationContext() == null ? null : getApplicationContext() .isSingleton(name);
}
public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {
return getApplicationContext() == null ? null : getApplicationContext() .getType(name);
}
public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
return getApplicationContext() == null ? null : getApplicationContext() .getAliases(name);
}
}