Bläddra i källkod

0730 nacos进阶用法

Qing 9 månader sedan
förälder
incheckning
488886d785

+ 1 - 1
springcloud-demo/nacos-demo/pom.xml

@@ -14,7 +14,7 @@
         <groupId>com.sf</groupId>
         <artifactId>springcloud-demo</artifactId>
         <version>0.0.1-SNAPSHOT</version>
-        <relativePath/> <!-- lookup parent from repository -->
+<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
     </parent>
     <groupId>com.sf</groupId>
     <artifactId>nacos-demo</artifactId>

+ 12 - 0
springcloud-demo/nacos-demo/src/main/java/com/sf/controller/ConfigController.java

@@ -16,9 +16,21 @@ public class ConfigController {
     @Value("${useLocalCache}")
     private boolean useLocalCache;
 
+    @Value("${spring.redis.data.host}")
+    private String redisHost;
+
+    @Value("${spring.datasource.url}")
+    private String dbUrl;
+
     // http://127.0.0.1:18080/config/get
     @GetMapping("/config/get")
     public Boolean get() {
         return useLocalCache;
     }
+
+    // http://127.0.0.1:18080/config/getAll
+    @GetMapping("/config/getAll")
+    public String getAll() {
+        return redisHost + "," + dbUrl;
+    }
 }

+ 20 - 0
springcloud-demo/nacos-demo/src/main/resources/bootstrap-dev.yml

@@ -0,0 +1,20 @@
+spring:
+  application:
+    name: nacos-demo
+  cloud:
+    nacos:
+      # 配置nacos的配置中心
+      config:
+#        # 设定命名空间
+        namespace: 83172eef-1ce7-4be3-9a02-85ab277e3120
+        server-addr: 127.0.0.1:8848
+        # 2.4.0版本支持无账户登录 所以不需要配置用户名和密码
+        # 加载多个配置
+        extension-configs:
+          # 使用数组格式 配置每个data-id 使用refresh声明是否实时刷新
+          - data-id: redis.properties
+            refresh: true
+          - data-id: jdbc.properties
+            refresh: true
+#        username: nacos
+#        password: nacos

+ 9 - 0
springcloud-demo/nacos-demo/src/main/resources/bootstrap.yml

@@ -5,7 +5,16 @@ spring:
     nacos:
       # 配置nacos的配置中心
       config:
+#        # 设定命名空间
+#        namespace: 83172eef-1ce7-4be3-9a02-85ab277e3120
         server-addr: 127.0.0.1:8848
         # 2.4.0版本支持无账户登录 所以不需要配置用户名和密码
+        # 加载多个配置
+        extension-configs:
+          # 使用数组格式 配置每个data-id 使用refresh声明是否实时刷新
+          - data-id: redis.properties
+            refresh: true
+          - data-id: jdbc.properties
+            refresh: true
 #        username: nacos
 #        password: nacos

+ 33 - 9
springcloud-demo/pom.xml

@@ -3,13 +3,13 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <!-- 父项目的主要功能 是统一版本 -->
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <!-- 为了和springcloud alibaba兼容 降了一点版本 -->
-        <version>3.2.5</version>
-        <relativePath/> <!-- lookup parent from repository -->
-    </parent>
+<!--    <parent>-->
+<!--        <groupId>org.springframework.boot</groupId>-->
+<!--        <artifactId>spring-boot-starter-parent</artifactId>-->
+<!--        &lt;!&ndash; 为了和springcloud alibaba兼容 降了一点版本 &ndash;&gt;-->
+<!--        <version>3.2.5</version>-->
+<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
+<!--    </parent>-->
     <groupId>com.sf</groupId>
     <artifactId>springcloud-demo</artifactId>
     <version>0.0.1-SNAPSHOT</version>
@@ -27,6 +27,7 @@
     <!-- 使用属性配置来管理依赖版本 -->
     <properties>
         <java.version>17</java.version>
+        <spring.boot.version>3.2.5</spring.boot.version>
         <spring.cloud.version>2023.0.1</spring.cloud.version>
         <spring.cloud.alibaba.version>2022.0.0.0-RC2</spring.cloud.alibaba.version>
         <!-- 配置中心使用的管理配置的工具 -->
@@ -39,6 +40,14 @@
     <!-- 和直接使用dependencies的区别是 只会管理依赖 不会引入依赖  -->
     <dependencyManagement>
         <dependencies>
+            <!-- 把springboot的依赖放在管理器中 代替父依赖 -->
+            <dependency>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-dependencies</artifactId>
+                <version>${spring.boot.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
             <dependency>
                 <groupId>org.springframework.cloud</groupId>
                 <artifactId>spring-cloud-dependencies</artifactId>
@@ -63,11 +72,26 @@
         </dependencies>
     </dependencyManagement>
 
+    <!-- 注释掉 springboot项目启动时需要的插件 -->
+<!--    <build>-->
+<!--        <plugins>-->
+<!--            <plugin>-->
+<!--                <groupId>org.springframework.boot</groupId>-->
+<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
+<!--            </plugin>-->
+<!--        </plugins>-->
+<!--    </build>-->
+
     <build>
         <plugins>
             <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.11.0</version>
+                <configuration>
+                    <source>17</source>
+                    <target>17</target>
+                </configuration>
             </plugin>
         </plugins>
     </build>