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配置,其他配置
如有不對,歡迎留言交流