用bootstrap.yml读取配置中心的配置文件
当使用 spring cloud的时候,配置信息一般是从配置中心加载的,为了取得配置信息(比如密码等),你需要一些提早的或引导配置。
因此,把配置中心信息放在bootstrap.yml,用来加载真正需要的配置信息。
配置中心可以用nacos,也可以用springcloud config 。下边以nacos为例:
bootstrap.yml的配置为:
spring:
profiles:
active: test
application:
name: xxxx-api
aname: 10086
cloud:
nacos:
config:
#测试地址
server-addr: xxxx
prefix: ${spring.application.name}
file-extension: yml
group: xxx
#测试命名空间
namespace: xxx
username: xxx
password: xxx启动命令为:
java -xms6g -xmx6g -xx:+useg1gc -dlog4j2.formatmsgnolookups=true -jar /app.jar --spring.profiles.active=prod --spring.cloud.nacos.config.server-addr=xxx.com:80 --spring.cloud.nacos.config.namespace=xxxx --spring.cloud.nacos.username=xxx --spring.cloud.nacos.password=xxx
bootstrap.yml配置文件不生效错误
错误产生原因
在使用nacos作为配置中心时,发现无论如何修改bootstrap.yml配置文件,都不执行
错误截图
- 引入依赖

- 配置文件


- 注解

- nacos配置文件

以上步骤皆无问题
- 启动

报没有配置数据库错误
那不废话!
数据库配置都在配置中心里
都没去读取配置中心哪来的数据库配置
错误原因
新版的spring-boot如果要使得bootstra配置文件生效,还需要添加一个依赖
<dependency>
<groupid>org.springframework.cloud</groupid>
<artifactid>spring-cloud-starter-bootstrap</artifactid>
<version>3.0.3</version>
</dependency>

修改结果

读取nacos配置成功
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论