Spring 使用一个应用程序.属性进行生产,另一个用于调试

2022-09-01 07:18:09

我有一个Spring应用程序,我希望能够在配置之间切换,具体取决于我是否正在调试服务器或服务器是否在生产环境中运行。(配置中的区别在于数据库位置之类的东西。

理想情况下,我想在启动时将命令行参数传递给我的Spring应用程序并设置应用程序配置。

我有两个单独的 application.properties 文件,一个包含生产值,另一个包含调试值。如何在它们之间切换?


答案 1

可以有 3 个属性文件 和 。您可以在开发属性文件中指定所有开发属性,在 prod 文件中指定生产说明属性application-dev.propertiesapplication-prod.propertiesapplication.properties

并在文件中指定配置文件,如下所示application.properties

spring.profiles.active=dev

或者,您可以使用命令行中的参数选择/覆盖配置文件。-Dprofile=


答案 2

弹簧轮廓似乎是要走的路。您可以使用类似 -Dprofile= 的内容启动应用程序。请看一下这个例子

编辑:在重新阅读您的问题后,我得出的结论是,您实际上可能想要更基本的东西:将数据库属性放在外部。根据您的应用程序,您可以使用属性配置器@Value。看看春季文档。


推荐