第一步
pom.xml引入maven依赖
<!-- 服务注册/发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 配置中心来做配置管理-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
第二步
创建bootstrap.properties(或bootstrap.yml)文件,该配置文件会优先于“application.yml”加载。(
只在application.yml写nacos配置,会报错。)(下面配置为bootstrap.yml文件的配置)
spring:
application:
name: **
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
discovery:
server-addr: 127.0.0.1:8848
第三步
通过注解来使用nacos
在初始化类中添加 @EnableDiscoveryClient
注解(让注册中心能够发现,扫描到改服务。)
在读取配置的类中加入注解@RefreshScope(
会动态的从配置中心读取配置 ,针对频繁修改的配置。)
第四步
登录nacos(默认用户名,密码都是naocs),登录成功后可以在服务列表查看注册成功的服务,也可以编辑配置中心的配置。
第五步
nacos动态配置
如果不配置命名空间,会默认取public命名空间的配置
bootstrap.properties (bootstrap.yml也可以)文件中命名空间的指定方式如下:
spring.cloud.nacos.config.namespace=366b35f5-4b8c-4556-acd6-617800cac32c
可以为每一个服务分别创建命名空间
并为每一个命名空间创建分组,用于区分正式环境、测试环境、开发环境等。(也可以反过来,看个人需求。)
示例如下:
配置文件中引入
spring.cloud.nacos.config.extension-configs[0].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[1].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
可以通过@value的形式去调用配置文件中的属性值去测试,这里暂时不做演示。