diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java index 4648fcd3c..518a67a98 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java @@ -67,6 +67,15 @@ public class DataSourceAspect return dataSource; } - return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class); - } -} + // 组合检查声明类和目标类 + Class declaringType = signature.getDeclaringType(); + Class targetClass = point.getTarget().getClass(); + + DataSource classAnnotation = AnnotationUtils.findAnnotation(targetClass, DataSource.class); + if (classAnnotation == null) { + classAnnotation = AnnotationUtils.findAnnotation(declaringType, DataSource.class); + } + return classAnnotation; + } + } +