欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用spring cloud alibaba-使用config

程序员文章站 2022-03-23 16:24:21
...

继续上一个项目

创建一个config模块,依赖选择多一个config

使用spring cloud alibaba-使用config

模块名为config1

使用spring cloud alibaba-使用config

然后创建bootstrap.yml,这个跟springcloud类似,config都使用预加载的bootstrap.yml文件

bootstrap.yml如下

server:
  port: 9005
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
        #此处的namespace是discovery服务对应的命名空间,与config不同
        #namespace: b7d26021-28b5-42d1-b36d-737a818a2146
      config:
        server-addr: localhost:8848
        file-extension: yaml
        #此处只是对应config的命名空间
        #namespace: b7d26021-28b5-42d1-b36d-737a818a2146
  profiles:
    active: test

需要注意的是,

profiles:
    active: test

spring:
  application:
    name: nacos-config-client

下面会用到;

然后加上启动注解启动。

然后此时nacos中会有三个服务

使用spring cloud alibaba-使用config

然后设置配置

使用spring cloud alibaba-使用config

然后新建配置

使用spring cloud alibaba-使用config

目前就Data ID需要注意

命名方式是

${prefix}-${spring.profile.active}-${file-extension}

第一个是application:name,第二个是profiles:active,第三个是后缀file-extension

配置内容中配置了两个参数,下面来写controller

/**
 * @author wqy
 * @version 1.0
 * @date 2020/7/23 18:38
 */
@RestController
public class Test {

    @Value("${info}")
    private String info;
    @Value("${foo}")
    private String foo;

    @RequestMapping(value = "/getInfo")
    @ResponseBody
    public String getInfo(){
        return info;
    }

    @RequestMapping(value = "/getFoo")
    @ResponseBody
    public String getFoo(){
        return foo;
    }

}

因为@Value是先从配置中获取,所以一定要现在配置文件中配置才行,不然肯定会报错

然后重启

访问controller

使用spring cloud alibaba-使用config

简单的config就完成了

下一篇说一下命名空间,我感觉命名空间这个还是比较实用的,因为很容易实现线上和线下的转换