栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

nacos在spring cloud环境中的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nacos在spring cloud环境中的使用

注册中心

-- 有空再补充

配置中心 实验结果

先说结果,需要验证过程的可参看后面的代码和配置再次验证

  • 1、nacos可同时加载多个配置,共享配置 spring.cloud.nacos.config.shared-configs 以数组的形式添加配置;
  • 2、nacos配置生效的优先级。nacos加载的配置当中,由配置 spring.cloud.nacos.config.name 指定的配置为最高优先级,共享配置 spring.cloud.nacos.config.​​​​​​​shared-configs 当中配置的的加载按照添加的顺序加载,即相同的配置项,顺序靠后的覆盖顺序靠前的。
实验代码

引入nacos依赖

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
            2.0.4.RELEASE
        

添加启动配置

spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        namespace: ee601b91-4269-4452-bd5f-5010e78b69d8
        name: nacos_service
        group: dev_nacos
        file-extension: yaml
        shared-configs:
          - data-id: mysql.yaml
            group: dev_nacos
            refresh: true
          - data-id: priority.yaml
            group: dev_nacos
            refresh: true

nacos配置内容

nacos_service.yaml:

service:
  name: nacos_service_test
config:
  priority: 1

mysql.yaml

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:336/nacos?characterEncoding=utf8
    username: root
    password: 123456

config:
  priority: 2
  priority2: 2

priority.yaml

config:
  priority: 3
  priority2: 3

接口代码

ConfigController.java

@RestController
@RequestMapping("config")
@RefreshScope
public class ConfigController {

    @Value(value = "${service.name}")
    private String serviceName;
    @Value(value = "${spring.datasource.url}")
    private String dataSourceUrl;
    @Value(value = "${spring.datasource.username}")
    private String dataSourceUsername;
    @Value(value = "${spring.datasource.password}")
    private String dataSourcePassword;
    @Value(value = "${config.priority}")
    private Integer configPriority;
    @Value(value = "${config.priority2}")
    private Integer configPriority2;

    @GetMapping(value = "/get",produces = "application/json")
    public String get() {
        return toString();
    }

    @Override
    public String toString() {
        return "{" +
                ""serviceName": "" + serviceName + '"' +
                ", "dataSourceUrl": "" + dataSourceUrl + '"' +
                ", "dataSourceUsername": "" + dataSourceUsername + '"' +
                ", "dataSourcePassword": "" + dataSourcePassword + '"' +
                ", "configPriority": " + configPriority +
                ", "configPriority2": " + configPriority2 +
                "}";
    }
}

工程启动后,接口返回的结果

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号