Springboot使用Nacos做配置中心
环境
- jdk: 1.8
- maven: 3.6.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配置,其他配置
如有不对,欢迎留言交流
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/159022.html