如何指定spring Boot 应用程序以仅访问Spring Cloud Config Server中的其他文件中的特定.properties
文件。
我的Spring Cloud Config有以下文件:application.properties
,order-dev.properties
,inventory-dev.properties
,所有我的db和消息传递属性都在order-dev和inventory-dev文件中。
现在我希望将这些属性移动到orderdb-dev
、inventorydb-dev
、ordermsg-dev
和inventorymsg-dev
文件中。
如何配置我的order
和inventory
服务,从orderdb-dev
,inventorydb-dev
,ordermsg-dev
和inventorymsg-dev
文件中选择属性?我一直在寻找相同的属性。阅读官方文档,感觉迷路了。任何帮助都将不胜感激。
2条答案
按热度按时间oiopk7p51#
在resources文件夹下添加一个bootstrap.yml文件,然后添加下面的属性。
字符串
这样,它将首先从order-dev.properties文件加载属性。然后是orderdb-dev.properties,然后是ordermsg-dev.properties。
bq8i3lrv2#
假设你的配置文件名是
myboot.properties
。根据documentation to externalizable configs,有很多方法可以使用命令行参数
--spring.config.name
启动应用程序:字符串
在命令行中,我们指定
myboot
,但Sping Boot 将搜索myboot.properties
。许多属性文件可以添加逗号分隔,如下所示:型
现在,
myboot.properties
的公共属性将被myboot2.properties
覆盖,然后被myboot3.properties
覆盖。另一种选择,
--spring.config.location
中的完整配置名称:型
现在文件名必须包含文件扩展名。不能使用任意扩展名**,因为Sping Boot 未知的扩展名会生成错误。
--spring.config.location
还支持多个逗号分隔的配置名。或者,在源代码中可以实现完全相同的功能,而无需更改命令行:
或者,您可能希望避免删除现有的命令行参数:
型
所以,上面的代码只是一个想法,可能不够灵活,根据需要灵活。