在项目开发过程中,我们经常使用nacos作为配置中心和注册中心。本文章我们就从代码层面研究下springBoot是如何整合nacos使用的。
1、nacos作为配置中心
pom文件依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
注意:依赖的版本要和springboot依赖的版本保持一致
使用nacos作为配置中心,nacos读取的是bootstrap.yml,而我们项目中的配置文件名称是application.properties/application.yml,所以我们要修改我们项目中的配置文件名为bootstrap.yml。如下图:
bootstrap.yml配置文件的内容可配置为:
spring:
application:
name: provider //服务名,也是注册的唯一标识
profiles:
active: xxx //开发环境,可省略不配置
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 //nacos地址
file-extension: yaml //文件后缀,可省略不配置
namespace: xxx //命名空间.省略不配置时,默认使用的public命名空间。配置时,指向nacos创建的命名空间。
配置文件配置结束后,我们就可以到nacos客户端创建配置了
Data ID: application.name + profiles.active + file-extension。如果bootstrap.yml文件中没有配置profiles.active + file-extension,我们只需要用服务名命名即可。
Group:默认DEFAULT_GROUP,如果我们在bootstrap.yml配置了profiles.active,这里填写profiles.active的值即可。
配置格式:我这里选择的是yaml格式。
规范的命名方式,大家可以参考官方文档
还有重要的一点,如果我们想指定不同开发环境配置,如开发环境,测试环境等,我们就需要配置我们刚刚在上面讲的namespace。创建命名空间如下图所示:
到这里,springboot整合nacos配置差不多就结束了,剩下的我们只需要在nacos的配置中配置我们的配置文件即可。
2、注册中心
pom文件依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
依赖添加后,我们需要在bootstrap.yml文件中配置我们的注册中心地址
配置结束后,重启项目成功后,我们就可以在nacos的服务列表中看到我们已经注册到nacos的服务