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

时间:2016-01-18 01:34:45

标签: java spring

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

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

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

2 个答案:

答案 0 :(得分:45)

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

并在application.properties文件中指定个人资料,如下所示

spring.profiles.active=dev

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

答案 1 :(得分:3)

Spring配置文件似乎还有很长的路要走。您可以使用-Dprofile =之类的东西启动应用程序。看看this example

编辑:在重新阅读你的问题之后,我得出结论,你可能真的想要一些更基本的东西:把你的数据库属性放在外面。根据您的应用程序,您可以使用属性配置器的@Value。看一下spring文档。