Spring使用一个application.properties进行生产,另一个用于调试

Pri*_*hmp 21 java spring

我有一个Spring应用程序,我希望能够在配置之间切换,具体取决于我是在调试服务器还是服务器在生产中运行.(配置的差异就像数据库位置一样.)

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

我有两个单独的application.properties文件,一个带有生产值,另一个带有调试值.我怎么能在他们两个之间切换?

diy*_*da_ 52

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

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

spring.profiles.active=dev
Run Code Online (Sandbox Code Playgroud)

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

  • 是否始终读取application.properties?例如,如果个人资料是dev? (2认同)
  • @powder366 是的,它加载 app.properties,然后加载另一个文件,如果两个文件中都存在一个属性,则配置文件会覆盖它 (2认同)