文章目录

  • 前言
  • nacos配置中心介绍
  • 使用步骤
  • 总结



前言



上篇文章介绍了nacos作为服务注册中心的用法,本文将介绍下nacos作为配置中心的用法。



nacos配置中心介绍

入坑Spring Cloud Alibaba后发现的nacos确实很强大,简单易用不说,除了做服务注册中心外,还能起来配置中心的作用,类似Spring Cloud Config的作用。
不过Config需要将配置文件保存到git仓库中,nacos可以直接保存配置文件了,使用起来更加方便。
并且nacos还支持配置文件的热加载,用起来很开心。

使用步骤


本章的案例是在前面案例基础上进行修改的,大概的过程是:

1、在nacos中添加配置文件

2、由provider_service服务加载该配置文件

3、在服务的接口中输出配置内容进行验证。


先登录nacos,在配置列表中添加配置: 其中Data ID分为三个部分:

1、前缀,一般是服务的id

2、profile 应用的环境,有dev、pro、test几种

3、后缀名,这里使用yaml


配置内容随意填写了一些,包含端口和jdbc属性

springcloud 结合nacos 实现国际化 springcloud nacos配置_配置文件



写完后点击发布,在配置列表中可以看到该配置,下一步就是在provider-service中加载该配置

springcloud 结合nacos 实现国际化 springcloud nacos配置_spring cloud_02



在provider-service中添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>


在resources目录下添加bootstrap.yml文件,它比application.yml文件提前加载

前面添加的Data ID 的格式就是 ${prefix}-${profiles.active}.${file-extension}

spring:
  cloud:
    nacos:
      config:
        server-addr: 192.168.7.188:8848 # 配置中心地址
        file-extension: yaml            # 配置文件的后缀
        prefix: provider-service        # 配置文件的前缀
  profiles:
    active: dev                         # 使用的profile


application.yml

spring:
  application:
    name: provider-service
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.7.188:8848  # nacos的地址,端口默认是8848

用于测试的Controller

@RestController
@RefreshScope
public class NacosConfigController {

    @Value("${server.port}")
    private String port;

    @Value("${spring.datasource.driver-class-name}")
    private String driver;

    @Value("${spring.datasource.url}")
    private String url;

    @Value("${spring.datasource.username}")
    private String username;

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

    @RequestMapping("/config")
    public String config(){
        return "{port='" + port + '\'' +
                ", driver='" + driver + '\'' +
                ", url='" + url + '\'' +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

启动服务,直接在浏览器中测试

springcloud 结合nacos 实现国际化 springcloud nacos配置_配置文件_03


在nacos后台修改密码,然后刷新浏览器,可以看到nacos应用了配置热加载的机制

springcloud 结合nacos 实现国际化 springcloud nacos配置_spring_04


总结

今天介绍了nacos作为配置中心的使用方法,后面还会介绍更多alibaba组件的使用,如果文章对你有帮助,