From c54cd6383079061111248ecff380601141cfe539 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期二, 21 十月 2025 09:54:55 +0800
Subject: [PATCH] Merge branch 'pim_ywx'
---
src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 53 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java b/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
index e031159..64a0249 100644
--- a/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
+++ b/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
@@ -1,11 +1,15 @@
package com.ruoyi.common.utils.spring;
+import org.springframework.aop.framework.Advised;
import org.springframework.aop.framework.AopContext;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
+import com.ruoyi.common.utils.StringUtils;
/**
* spring宸ュ叿绫� 鏂逛究鍦ㄩ潪spring绠$悊鐜涓幏鍙朾ean
@@ -13,15 +17,23 @@
* @author ruoyi
*/
@Component
-public final class SpringUtils implements BeanFactoryPostProcessor
+public final class SpringUtils implements BeanFactoryPostProcessor, ApplicationContextAware
{
/** Spring搴旂敤涓婁笅鏂囩幆澧� */
private static ConfigurableListableBeanFactory beanFactory;
+ private static ApplicationContext applicationContext;
+
@Override
- public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
+ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException
{
SpringUtils.beanFactory = beanFactory;
+ }
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
+ {
+ SpringUtils.applicationContext = applicationContext;
}
/**
@@ -109,6 +121,44 @@
@SuppressWarnings("unchecked")
public static <T> T getAopProxy(T invoker)
{
- return (T) AopContext.currentProxy();
+ Object proxy = AopContext.currentProxy();
+ if (((Advised) proxy).getTargetSource().getTargetClass() == invoker.getClass())
+ {
+ return (T) proxy;
+ }
+ return invoker;
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐨勭幆澧冮厤缃紝鏃犻厤缃繑鍥瀗ull
+ *
+ * @return 褰撳墠鐨勭幆澧冮厤缃�
+ */
+ public static String[] getActiveProfiles()
+ {
+ return applicationContext.getEnvironment().getActiveProfiles();
+ }
+
+ /**
+ * 鑾峰彇褰撳墠鐨勭幆澧冮厤缃紝褰撴湁澶氫釜鐜閰嶇疆鏃讹紝鍙幏鍙栫涓�涓�
+ *
+ * @return 褰撳墠鐨勭幆澧冮厤缃�
+ */
+ public static String getActiveProfile()
+ {
+ final String[] activeProfiles = getActiveProfiles();
+ return StringUtils.isNotEmpty(activeProfiles) ? activeProfiles[0] : null;
+ }
+
+ /**
+ * 鑾峰彇閰嶇疆鏂囦欢涓殑鍊�
+ *
+ * @param key 閰嶇疆鏂囦欢鐨刱ey
+ * @return 褰撳墠鐨勯厤缃枃浠剁殑鍊�
+ *
+ */
+ public static String getRequiredProperty(String key)
+ {
+ return applicationContext.getEnvironment().getRequiredProperty(key);
}
}
--
Gitblit v1.9.3