搭建spring-cloud-server 端时,配置文件我们使用了application.yml ,但是在搭建spring-cloud-client端使用相同名字时系统引发报错。
原因是spring-cloud-client端项目启动时找bootstrap命名的文件。系统找不到所以报错了。至于为什么不找application命名的配置文件,在网上找到一种可信的说法
- 项目启动时,bootstrap命名的文件要比application命名的文件先加载
- spring-cloud-client端项目启动默认访问bootstrap文件,绑定config-server的URL,然后在加载application配置。如果bootstrap文件找不到或者没有配置server的URL,系统会默认URL为
http://127.0.0.1:8888
- bootstarp配置文件是充云端加载配置文件。优先级高于application,项目启动时,会先去加载自带的配置文件,然后加载bootstrap配置文件,将加载到的内容放入到application中。