|
@@ -0,0 +1,45 @@
|
|
|
+package com.lantone.qc.kernel.util;
|
|
|
+
|
|
|
+import org.springframework.beans.BeansException;
|
|
|
+import org.springframework.context.ApplicationContext;
|
|
|
+import org.springframework.context.ApplicationContextAware;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description:
|
|
|
+ * @author: rengb
|
|
|
+ * @time: 2020/3/12 11:29
|
|
|
+ */
|
|
|
+@Component
|
|
|
+public class SpringContextUtil implements ApplicationContextAware {
|
|
|
+
|
|
|
+ private static ApplicationContext applicationContext = null;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
|
|
+ if (this.applicationContext == null) {
|
|
|
+ this.applicationContext = applicationContext;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取applicationContext
|
|
|
+ public static ApplicationContext getApplicationContext() {
|
|
|
+ return applicationContext;
|
|
|
+ }
|
|
|
+
|
|
|
+ //通过name获取 Bean.
|
|
|
+ public static <T> T getBean(String name) {
|
|
|
+ return (T) applicationContext.getBean(name);
|
|
|
+ }
|
|
|
+
|
|
|
+ //通过class获取Bean.
|
|
|
+ public static <T> T getBean(Class<T> clazz) {
|
|
|
+ return applicationContext.getBean(clazz);
|
|
|
+ }
|
|
|
+
|
|
|
+ //通过name,以及Clazz返回指定的Bean
|
|
|
+ public static <T> T getBean(String name, Class<T> clazz) {
|
|
|
+ return applicationContext.getBean(name, clazz);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|