用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配置成功
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论