美文网首页
三、Spring cloud alibaba Config 配置

三、Spring cloud alibaba Config 配置

作者: 一介书生独醉江湖 | 来源:发表于2020-05-03 21:32 被阅读0次

    1、引入依赖

            <properties>
               <java.version>1.8</java.version>
               <spring.cloud.version>Greenwich.SR2</spring.cloud.version>
               <spring.cloud.alibaba.version>2.1.0.RELEASE</spring.cloud.alibaba.version>
            </properties>
            <!--spring cloud alibaba 注册与发现-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
            </dependency>
    
            <!--spring cloud alibaba config -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
            </dependency>
    

    2、配置bootstrap.yml

    spring:
      application:
        name: config-base
      cloud:
        nacos:
          #Nacos 服务注册中心地址
          discovery:
            server-addr: 127.0.0.1:8848
          #Nacos 服务配置中心地址
          config:
            server-addr: 127.0.0.1:8848
            #配置后缀名是yaml
            file-extension: yaml
    

    3、配置application.yml

    server:
      port: 8090
    spring:
      profiles:
        active: dev
    

    4、创建统一配置文件
    dataID命名规则
    ${prefix} - ${spring.profiles.active} . ${file-extension}
    1)prefix:默认是spring.application.name;
    可以通过配置spring.cloud.nacos.config.prefix修改;
    2)spring.profiles.active:当前环境对应的profile;
    3)file-exetension:配置内容的数据格式;
    可以通过配置spring.cloud.nacos.config.file-extension修改;
    但目前只支持 properties 和 yaml两种类型;

    例子:

    spring.application.name=config-base
    spring.profiles.active=dev
    spring.cloud.nacos.config.file-extension=yaml
    
    DataID就是config-base-dev.yaml
    
    image.png

    5、后台代码

    @RestController
    @RefreshScope
    public class TestController {
    
        @Value("${user.name}")
        String userName;
    
        @Value("${user.age}")
        int age;
    
        @RequestMapping("/user")
        public String simple() {
            return "Nacos Config!" + "Hello " + userName + " " + age;
        }
    }
    

    @RefreshScope起动态刷新的作用
    6、启动项目
    6.1、访问http://localhost:8090/user

    image.png
    6.2、修改user.name、user.age
    user:
        name: 曹操
        age: 30
    

    刷新http://localhost:8090/user

    image.png

    参考:https://github.com/alibaba/spring-cloud-alibaba/tree/master/spring-cloud-alibaba-examples/nacos-example/nacos-config-example

    相关文章

      网友评论

          本文标题:三、Spring cloud alibaba Config 配置

          本文链接:https://www.haomeiwen.com/subject/dumjghtx.html