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

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

目录

  0、补充
  1、需求
  2、创建配置
  3、快速上手

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-PUBLISHER   cloud:    nacos:      server-addr: 162.14.66.60:8848    # 代表服务端的地址      discovery:        server-addr: ${spring.cloud.nacos.server-addr}      config:        file-extension: yml   # 文件后缀名 必须配置  这个config中还有其他配合,如:命名空间....按需要直接配置即可        group: DEFAULT_GROUP  profiles:    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强大多了,爽得很

作者:紫邪情
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部