Prechádzať zdrojové kódy

feat:模块ms-user-autoconfig定义自动配置类,用于自动配置ms-user模块,为第三方的使用实现开箱即用的效果

yang yi 1 mesiac pred
rodič
commit
88ff4feee5

+ 27 - 0
ms-user-autoconfig/build.gradle.kts

@@ -0,0 +1,27 @@
+plugins {
+    java
+}
+
+group = "space.anyi"
+version = "1.0-SNAPSHOT"
+description = "用户服务自动配置"
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    implementation(project(":ms-user-api"))
+    implementation(platform("org.springframework.boot:spring-boot-dependencies:2.7.0"))
+    implementation(platform("org.springframework.cloud:spring-cloud-dependencies:2021.0.3"))
+    implementation("org.springframework.cloud:spring-cloud-starter")
+    implementation("org.springframework.cloud:spring-cloud-starter-openfeign")
+    //自动配置的依赖
+    implementation("org.springframework.boot:spring-boot-autoconfigure")
+    testImplementation("org.junit.jupiter:junit-jupiter-api:5.6.0")
+    testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
+}
+
+tasks.getByName<Test>("test") {
+    useJUnitPlatform()
+}

+ 21 - 0
ms-user-autoconfig/src/main/java/space/anyi/user/autoconfig/MsUserAutoconfig.java

@@ -0,0 +1,21 @@
+package space.anyi.user.autoconfig;
+
+import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @ProjectName: springboot-autoconfiguration-learn
+ * @FileName: MsUserAutoconfig
+ * @Author: 杨逸
+ * @Data:2025/10/13 21:43
+ * @Description: 配置类
+ */
+@Configuration(proxyBeanMethods = false)
+@ConditionalOnClass(MsUserFeignMark.class)
+@EnableFeignClients(basePackageClasses = MsUserAutoconfig.class)
+@EnableConfigurationProperties(MsUserConfig.class)
+public class MsUserAutoconfig {
+
+}

+ 25 - 0
ms-user-autoconfig/src/main/java/space/anyi/user/autoconfig/MsUserConfig.java

@@ -0,0 +1,25 @@
+package space.anyi.user.autoconfig;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @ProjectName: springboot-autoconfiguration-learn
+ * @FileName: MsUserConfig
+ * @Author: 杨逸
+ * @Data:2025/10/13 21:48
+ * @Description: 配置类
+ */
+@Configuration(proxyBeanMethods = false)
+@ConfigurationProperties(prefix = "ms.user")
+public class MsUserConfig {
+    public String getUrl() {
+        return url;
+    }
+
+    public void setUrl(String url) {
+        this.url = url;
+    }
+    //配置项
+    private String url = "127.0.0.1:8080";
+}

+ 11 - 0
ms-user-autoconfig/src/main/java/space/anyi/user/autoconfig/MsUserFeignMark.java

@@ -0,0 +1,11 @@
+package space.anyi.user.autoconfig;
+
+/**
+ * @ProjectName: springboot-autoconfiguration-learn
+ * @FileName: MsUserFeignMark
+ * @Author: 杨逸
+ * @Data:2025/10/13 21:52
+ * @Description:
+ */
+public class MsUserFeignMark {
+}

+ 2 - 0
ms-user-autoconfig/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,2 @@
+#?????????
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=space.anyi.user.autoconfig.MsUserAutoconfig