依赖1
xml
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.14</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 对应的Spring Cloud版本 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 对应的Spring Cloud Alibaba版本 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.0.5.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
具体使用依赖
xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- Spring Cloud 2020.0版本之后,bootstrap功能被移除了,需要单独引入依赖才能使用bootstrap.yml。 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
Nacos服务端版本
推荐使用Nacos 2.0.4或2.1.x版本
我这里使用的==NACOS2.1.1==
创建bootstrap.yml
yml
spring:
application:
name: aa-cc
profiles:
active: dev
config:
import:
#在nacos创建文件的dataId aa-cc-dev.yml
- nacos:${spring.application.name}-${spring.profiles.active}.yml
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
group: DEFAULT_GROUP
# namespace: # 可选,用于环境隔离,不填默认就是public
# 使用自定义namespace的时候需要注意,这个值应该是是命名空间ID,而不是空间名称
#[类似值:0ba3e23d-4c3e-4331-bae1-242777703550]
==如果需要导入多个配置文件==
yml
spring:
config:
import:
- nacos:aa-cc-server.yml?group=DEFAULT_GROUP&namespace=dev
- nacos:database-config-dev.yml?group=DATABASE_GROUP&namespace=dev
- nacos:common-config-dev.yml?group=COMMON_GROUP&namespace=dev
#这里的namespace填写的是空间名称
启动注意点:
如果遇到以下报错
bash
Description:
No spring.config.import property has been defined
Action:
Add a spring.config.import=nacos: property to your configuration.
If configuration is not required add spring.config.import=optional:nacos: instead.
To disable this check, set spring.cloud.nacos.config.import-check.enabled=false.
原因:在Spring Cloud 2020.0.x版本之后,Spring Cloud引入了新的配置加载机制,需要显式地通过spring.config.import属性来声明外部配置源。
临时禁用检查正常启动项目
如果暂时不想改配置,可以禁用这个检查:
spring:
cloud:
nacos:
config:
import-check:
enabled: false
创建nacos配置文件,写入配置信息

启动项目
查看日志输入以下内容就读取成功了
补充知识点
==命名空间和分组的区别==
命名空间(Namespace)= 大楼 用于环境隔离,不同环境的配置完全分开,互不影响。
分组(Group)= 楼层/部门 用于业务分类,在同一环境下按业务模块划分。
实际使用建议 命名空间划分(按环境)
bash
├── dev(开发环境)
├── test(测试环境)
├── pre(预发布环境)
└── prod(生产环境)
分组划分(按业务)
bash
├── DEFAULT_GROUP(默认组)
├── USER_GROUP(用户服务组)
├── ORDER_GROUP(订单服务组)
├── PAYMENT_GROUP(支付服务组)
└── COMMON_GROUP(公共配置组)