From 9e08defcff411632065308c6c3b0f6f12febb854 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 22 八月 2025 08:44:47 +0800
Subject: [PATCH] 去掉SsoAop注解
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/springUtil/SpringContextUtil.java | 69 ++++++++++++++++++++++++++++++++++
1 files changed, 69 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/springUtil/SpringContextUtil.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/springUtil/SpringContextUtil.java
new file mode 100644
index 0000000..9808189
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/springUtil/SpringContextUtil.java
@@ -0,0 +1,69 @@
+package com.dy.common.springUtil;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.MutablePropertyValues;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.beans.factory.support.GenericBeanDefinition;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 鑾峰彇Springboot涓婁笅鏂囷紝骞堕�氳繃涓婁笅鏂囧彲浠ヨ幏鍙栭厤缃枃浠朵腑鐨勯厤缃弬鏁般��
+ * SpringBoot鍚姩鏃讹紝鍙戠幇鏈被娉ㄨВ浜咢Component锛屼細鍔犺浇鏈被骞跺疄渚嬪寲锛�
+ * 瀹炰緥鍖栨椂鍙戠幇鏈被瀹炵幇浜嗘帴鍙pplicationContextAware锛屽垯浼氳皟鐢�
+ * setApplicationContext鏂规硶璁剧疆Spring涓婁笅鏂囧璞�
+ */
+@Component
+public class SpringContextUtil implements ApplicationContextAware {
+
+ private static ApplicationContext applicationContext = null;
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ if (SpringContextUtil.applicationContext == null) {
+ SpringContextUtil.applicationContext = applicationContext;
+ }
+ }
+
+ //鑾峰彇applicationContext
+ public static ApplicationContext getApplicationContext() {
+ return applicationContext;
+ }
+
+ //閫氳繃name鑾峰彇 Bean.
+ public static Object getBean(String name) {
+ return getApplicationContext().getBean(name);
+ }
+
+ //閫氳繃class鑾峰彇Bean.
+ public static <T> T getBean(Class<T> clazz) {
+ return getApplicationContext().getBean(clazz);
+ }
+
+ /**
+ * 鍚屾鏂规硶娉ㄥ唽bean鍒癆pplicationContext涓�
+ *
+ * @param beanName
+ * @param clazz
+ * @param original bean鐨勫睘鎬у��
+ */
+ public static synchronized void setBean(String beanName, Class<?> clazz, Map<String,Object> original) {
+ //checkApplicationContext();
+ DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) applicationContext.getAutowireCapableBeanFactory();
+ if(beanFactory.containsBean(beanName)){
+ return;
+ }
+ //BeanDefinition beanDefinition = new RootBeanDefinition(clazz);
+ GenericBeanDefinition definition = new GenericBeanDefinition();
+ //绫籧lass
+ definition.setBeanClass(clazz);
+ //灞炴�ц祴鍊�
+ definition.setPropertyValues(new MutablePropertyValues(original));
+ //娉ㄥ唽鍒皊pring涓婁笅鏂�
+ beanFactory.registerBeanDefinition(beanName, definition);
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.8.0