在项目开发过程中,我们经常使用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的服务
到这里,springboot整合nacos就基本结束了。文章中可能也有错误的地方,大家借鉴过程中欢迎指出。