三、Spring cloud alibaba Config 配置

2020-05-03  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读