Springboot使用Nacos做配置中心)

环境

  1. jdk: 1.8
  2. maven: 3.6.3
  3. Idea

项目配置

新建一个Springboot项目,用Idea自动创建就可以,下面开始使用。
引入SpringcloudAlibaba依赖

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.2.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

然后再引入config依赖

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

创建一个bootstrap.properties
springboot加载配置文件优先顺序:

bootstrap.properties>bootstrap.yml>application.properties>application.yml

在配置文件填写nacos的信息

 # 服务名称,必须有
 spring.application.name=nacos-config-example
 # Nacosde 地址和端口
 spring.cloud.nacos.config.server-addr=127.0.0.1:8848

然后在nacos配置列表右边点击加号,添加配置文件
需要给配置中心默认添加一个叫 数据集(Data Id)test.properties。默认规则,应用名.properties
在这里插入图片描述
在配置文件
在这里插入图片描述
点击发布即可
然后在自己项目中获取配置文件的值
在这里插入图片描述
就这样,简单的配置中心就完成了。
以前SpringBoot任何方法从配置文件中获取值,都能使用。

高级使用

配置dev,prod,test环境

我们在开发当中,经常会有开发,生产,测试不同的环境,那么我们命名空间新建命名空间,分别取prod,dev,test就可以了

 1)、命名空间:配置隔离;
 *      默认:public(保留空间);默认新增的所有配置都在public空间。
 *      1、开发,测试,生产:利用命名空间来做环境隔离。
 *         注意:在bootstrap.properties;配置上,需要使用哪个命名空间下的配置,
 *         spring.cloud.nacos.config.namespace=9de62e44-cd2a-4a82-bf5c-95878bd5e871

在这里插入图片描述
在你生成的每一个空间都有系列号,需要以对应,按下图所示

在这里插入图片描述

微服务之间互相隔离配置

每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置

我们可以用配置集
比如一个新建的命名空间就是一个配置集,分别一个微服务项目对应一个一个配置集,在这个配置集里面我们再新建配置
在这里插入图片描述
在这一个配置集里面可以放下每个微服务对应的配置文件

每个微服务创建自己的命名空间,使用配置分组区分环境,dev,test,prod

同时加载多个配置集
 * 1)、微服务任何配置信息,任何配置文件都可以放在配置中心中
 * 2)、只需要在bootstrap.properties说明加载配置中心中哪些配置文件即可
 * 3)、@Value,@ConfigurationProperties。。。
 * 以前SpringBoot任何方法从配置文件中获取值,都能使用。
 * 配置中心有的优先使用配置中心中的,

我们可以如下配置
在这里插入图片描述
在bootstrap.properties可以如下配置
在这里插入图片描述
这样可以做到每个微服务,每个环境下的配置文件,还可以把不同配置类型的文件分开,比如上图所示,数据库配置,mybatis配置,其他配置
如有不对,欢迎留言交流

猜你喜欢

转载自blog.csdn.net/weixin_43691942/article/details/106388052