Przeglądaj źródła

个性化的定制自动加载类

RuoYi 5 lat temu
rodzic
commit
085e6631c6

+ 4 - 0
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/annotation/EnableCustomConfig.java

@@ -8,7 +8,9 @@ import java.lang.annotation.RetentionPolicy;
8 8
 import java.lang.annotation.Target;
9 9
 import org.mybatis.spring.annotation.MapperScan;
10 10
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
11
+import org.springframework.context.annotation.Import;
11 12
 import org.springframework.scheduling.annotation.EnableAsync;
13
+import com.ruoyi.common.security.config.SecurityImportBeanDefinitionRegistrar;
12 14
 
13 15
 @Target(ElementType.TYPE)
14 16
 @Retention(RetentionPolicy.RUNTIME)
@@ -20,6 +22,8 @@ import org.springframework.scheduling.annotation.EnableAsync;
20 22
 @MapperScan("com.ruoyi.**.mapper")
21 23
 // 开启线程异步执行
22 24
 @EnableAsync
25
+// 自动加载类
26
+@Import(SecurityImportBeanDefinitionRegistrar.class)
23 27
 public @interface EnableCustomConfig
24 28
 {
25 29
 

+ 25 - 0
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/config/SecurityImportBeanDefinitionRegistrar.java

@@ -0,0 +1,25 @@
1
+package com.ruoyi.common.security.config;
2
+
3
+import org.springframework.beans.factory.support.BeanDefinitionBuilder;
4
+import org.springframework.beans.factory.support.BeanDefinitionRegistry;
5
+import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
6
+import org.springframework.core.type.AnnotationMetadata;
7
+import com.ruoyi.common.core.utils.StringUtils;
8
+
9
+/**
10
+ * 导入 SecurityImportBeanDefinitionRegistrar 自动加载类
11
+ * 
12
+ * @author ruoyi
13
+ */
14
+public class SecurityImportBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar
15
+{
16
+    @Override
17
+    public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry)
18
+    {
19
+        Class<ResourceServerConfig> aClass = ResourceServerConfig.class;
20
+        String beanName = StringUtils.uncapitalize(aClass.getSimpleName());
21
+        BeanDefinitionBuilder beanDefinitionBuilder = BeanDefinitionBuilder.genericBeanDefinition(ResourceServerConfig.class);
22
+        registry.registerBeanDefinition(beanName, beanDefinitionBuilder.getBeanDefinition());
23
+
24
+    }
25
+}

+ 1 - 2
ruoyi-common/ruoyi-common-security/src/main/resources/META-INF/spring.factories

@@ -1,6 +1,5 @@
1 1
 org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
2 2
   com.ruoyi.common.security.service.UserDetailsServiceImpl,\
3
-  com.ruoyi.common.security.handler.CustomAccessDeniedHandler,\
4
-  com.ruoyi.common.security.config.ResourceServerConfig
3
+  com.ruoyi.common.security.handler.CustomAccessDeniedHandler
5 4
 
6 5