AI智能
改变未来

springcloud – alibaba – 3 – 整合config – 更新完毕


0、补充

1、需求

  • 如果我有这么一个请求:我想要gitee中的配置改了之后,我程序yml中的配置也可以跟着相应产生变化,利用原生的方式怎么做?一般做法如下:

  • 而有了SpringCloud-alibab的config配置管理之后,就方便得多了,具体操作马上演示

  • 2、创建配置

    然后选择发布即可

    3、快速上手

    3.1)、依赖

    • 依赖管理
    <parent><artifactId>spring-boot-parent</artifactId><groupId>org.springframework.boot</groupId><!-- 注意这里的版本问题 --><version>2.3.12.RELEASE</version><relativePath/></parent>
    • 项目需要的依赖
    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- springcloud-alibaba-nacos需要的依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- springcloud-alibaba-config需要的依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><!-- 注意这里的版本问题 --><version>2.2.6.RELEASE</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Hoxton.SR12</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

    3.2)、编写yml配置

    spring:application:name: ALIBABA-PUBLISHERcloud:nacos:server-addr: 162.14.66.60:8848    # 代表服务端的地址discovery:server-addr: ${spring.cloud.nacos.server-addr}config:file-extension: yml   # 文件后缀名 必须配置  这个config中还有其他配合,如:命名空间....按需要直接配置即可group: DEFAULT_GROUPprofiles:active: dev   # 文件拓展名  这个必须配置,对应application-dev.yml中的dev.....# 如上配置的意思:#   通过 server-addr这个地址,找到ALIBABA-PUBLISHER-dev.yml配置文件#       注:文件格式必须是 xxxxx-dev / test.yml / 或者其他后缀名,即:必须有拓展名

    3.3)、编写启动类

    package cn.zixieqing;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;/*** @ClassName PublisherApplication* @Author ZiXieQing* @Date 2021/12/7* Version 1.0**/@SpringBootApplication@EnableDiscoveryClientpublic class PublisherApplication {public static void main(String[] args) {SpringApplication.run(PublisherApplication.class, args);}}

    3.4)、编写服务

    package cn.zixieqing.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/*** @ClassName ProvideService* @Author ZiXieQing* @Date 2021/12/7* Version 1.0**/@RestController@RefreshScope       // 同步   nacos中配置做了修改,这里也会同步更新@RequestMapping("/service")public class ProvideService {@Value("${server.port}")private String port;@GetMapping("/provider")public String provider() {System.out.println(port);return "你要结果,那老衲就给你一个结果嘛!" + "=== 当前端口为:==>" + port;}}

    3.5)、运行效果如下

    但是:我改了nacos中的配置呢?

    • 再次发起请求

    • 可见:自动刷新了,这比springcloud的config强大多了,爽得很

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » springcloud – alibaba – 3 – 整合config – 更新完毕