如何使用bootstrap.yml读取配置中心的配置文件
作者:wangchenggong1988
这篇文章主要介绍了如何使用bootstrap.yml读取配置中心的配置文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
用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配置成功
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。