From ce920867ae3a55d17ce5caf30961b6d51e2a7078 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 11 七月 2025 09:03:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/services/src/main/java/com/doumee/config/mybatis/SpringUtils.java | 69 ++++++++++++++++++++++++++++++++++
1 files changed, 69 insertions(+), 0 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/config/mybatis/SpringUtils.java b/server/services/src/main/java/com/doumee/config/mybatis/SpringUtils.java
new file mode 100644
index 0000000..f813d05
--- /dev/null
+++ b/server/services/src/main/java/com/doumee/config/mybatis/SpringUtils.java
@@ -0,0 +1,69 @@
+package com.doumee.config.mybatis;
+
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
+import org.springframework.beans.factory.support.BeanDefinitionRegistry;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+/**
+ * NOTICE: NEVER USE IT WHEN REGISTERING A SPRING BEAN.
+ *
+ * @author Guang YANG
+ */
+@Component
+public class SpringUtils implements ApplicationContextAware {
+
+ private static ApplicationContext CTX;
+
+ public static ApplicationContext get() {
+ return CTX;
+ }
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ CTX = applicationContext;
+ }
+
+ /**
+ * 鍚戝鍣ㄤ腑鍔ㄦ�佹坊鍔燘ean
+ *
+ * @param ctx
+ * @param beanName
+ * @param beanClass
+ */
+ public static void addBean(ApplicationContext ctx, String beanName, Class beanClass) {
+ BeanDefinitionRegistry beanDefReg = (DefaultListableBeanFactory)ctx.getAutowireCapableBeanFactory();
+ BeanDefinitionBuilder beanDefBuilder = BeanDefinitionBuilder.genericBeanDefinition(beanClass);
+ BeanDefinition beanDef = beanDefBuilder.getBeanDefinition();
+ if (!beanDefReg.containsBeanDefinition(beanName)) {
+ beanDefReg.registerBeanDefinition(beanName, beanDef);
+ }
+ }
+
+ /**
+ * 浠庡鍣ㄤ腑绉婚櫎Bean
+ *
+ * @param ctx
+ * @param beanName
+ */
+ public static void removeBean(ApplicationContext ctx, String beanName) {
+ BeanDefinitionRegistry beanDefReg = (DefaultListableBeanFactory) ctx.getAutowireCapableBeanFactory();
+ beanDefReg.getBeanDefinition(beanName);
+ beanDefReg.removeBeanDefinition(beanName);
+ }
+
+ /**
+ * 閬嶅巻杈撳嚭鎵�鏈塀ean鐨勪俊鎭�
+ */
+ static void showAllBeans(ApplicationContext ctx) {
+ //閬嶅巻
+ for (String name : ctx.getBeanDefinitionNames()) {
+ System.out.println("name:" + name + ",class:" + ctx.getBean(name).getClass());
+ }
+ }
+
+}
--
Gitblit v1.9.3