Spring Cloud Alibaba教程 第二弹 Nacos配置管理

本文介绍如何使用Nacos作为配置中心进行微服务管理。通过搭建Nacos服务端及客户端,详细展示了配置文件的创建与读取流程。文章还提供了客户端pom.xml依赖配置、bootstrap.yml配置示例以及通过Controller获取配置的具体实现。
摘要由CSDN通过智能技术生成

更多Spring与微服务相关的教程请戳这里 Spring与微服务教程合集

1、入门示例

1.1、nacos服务端

首先启动nacos,然后在nacos的配置列表页面,新增三个配置,分别是:

  • nacos-client.yaml
  • nacos-client-test.yaml
  • nacos-client-prod.yaml

1.2、nacos客户端

1.2.1、pom.xml

    <properties>
        <spring-cloud-alibaba.version>2.0.2.RELEASE</spring-cloud-alibaba.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <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>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

1.2.2、bootstrap.yml

注意:

  • nacos客户端会根据spring.application.name去找对应Data Id的配置,比如下面的配置,就会识别到nacos-client.yaml配置文件
  • 并且,nacos客户端还会根据spring.profiles.active去找激活的配置,比如下面的配置,就会识别到nacos-client-test.yaml配置文件
spring:
  profiles:
    active: test
  application:
    name: nacos-client
  cloud:
    nacos:
      config:
        file-extension: yaml
        server-addr: 127.0.0.1:8848

1.2.3、controller

@RestController
public class ConfigController {

    @Value("${user.name}")
    private String username;

    @Value("${user.password}")
    private String password;

    @Value("${user.school}")
    private String school;

    @Value("${user.age}")
    private String age;

    @Value("${user.env}")
    private String env;

    @RequestMapping("/getConfig/{key}")
    public String getConfig(@PathVariable(value = "key") String key){
        if("username".equals(key)){
            return username;
        }else if("password".equals(key)){
            return password;
        }else if("school".equals(key)){
            return school;
        }else if("age".equals(key)){
            return age;
        }else if("env".equals(key)){
            return env;
        }else{
            return "the value is empty by this key!";
        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

波波老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值