用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配置文件生效,还需要添加一个依赖
org.springframework.cloudspring-cloud-starter-bootstrap3.0.3
修改结果
读取nacos配置成功
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。