springcloud使用nacos配置中心未从nacos读取配置

springcloud使用nacos配置中心未从nacos读取配置

原因是最新版本2021.0.1.0移除了 spring-cloud-starter-bootstrap的支持,改用 spring.config.import

自己学习谷粒商城按照如下方式解决。

如何使用
1
2
3
4
5
6
7
8
9
10
11
12
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.0.1.0</version>
<!-- 排除 bootstrap, 未来版本 spring-cloud-alibaba 应该在 spring boot >= 2.4.0 时将该依赖设置为 optional -->
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</exclusion>
</exclusions>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
# application.yml (不能是bootstrap.yml或者bootstrap.properties)
spring:
cloud:
nacos:
config:
group: DEFAULT_GROUP
server-addr: localhost:8848
config:
import:
- optional:nacos:test.yml # 监听 DEFAULT_GROUP:test.yml
- optional:nacos:test01.yml?group=group_01 # 覆盖默认 group, 监听 group_01:test01.yml
- optional:nacos:test02.yml?group=group_02&refreshEnabled=false # 不开启动态刷新
- nacos:test03.yml # 在拉取nacos配置异常时会快速失败, 会导致 spring 容器启动失败

等价于 (springboot 2.4.0 以下版本)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# bootstrap.yml
spring:
cloud:
nacos:
config:
name: test.yml
file-extension: yml
group: DEFAULT_GROUP
server-addr: localhost:8848
extension-configs:
- dataId: test01.yml
group: group_01
- dataId: test02.yml
group: group_02
refresh: false
  1. spring boot >= 2.4.0 默认不会启动 bootstrap 容器,不要将上述配置写在 bootstrap.yml(properties) 里。
  2. dataId 不可缺省,不要使用相同 dataId。

springcloud使用nacos配置中心未从nacos读取配置
http://www.muzili.ren/2022/06/11/springcloud使用nacos配置中心未从nacos读取配置/
作者
jievhaha
发布于
2022年6月11日
许可协议