赞
踩
bootstrap.yml是先头文件,在application.yml之前读取。
实际用途之一:
在启动nacos管理的程序时,首先读取nacos上的配置文件,再读取本地的配置文件(application.yml),需要将nacos上的配置文件和代码本地的yml文件整合使用,那就有一个问题,nacos的地址都是在本地配置文件的application.yml文件中的,所以此时需要先读取nacos上的配置文件的话,是无法实现的,因此就出现了bootstrap.yml文件,该文件里面配置了服务名、环境变量(dev、test、prod这种)和nacos的地址,因此当启动项目时,先读取bootstrap.yml文件,获取到nacos地址,就可以做到先读取nacos的配置文件,再和本地配置文件整合的效果了。
避坑:
这里使用bootstrap.yml文件时报错,需要加上依赖bootstrap的支持依赖,真服了
<!--开启Spring Cloud 应用程序启动时加载bootstrap配置文件--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bootstrap</artifactId> <version>3.1.4</version> </dependency>
还有一点是,如果在bootstrap.yml、本地application.yml、nacos配置文件中都写了端口号的,比如:
server: port: 8080
最先生效的应该是nacos配置文件的端口,然后才是本地application.yml的,只有当前两个都没写时,才会去bootstrap.yml读取,别问为什么,因为我试过,这个最开始取得bootstrap.yml文件中nacos地址是有区别的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。