我对Java还是很陌生,有一个我正在努力的项目正在努力解决。
在最长的时间内,我们为该应用构建了一个非常笨拙的构建过程,您必须手动进入并更改pom.xml文件中的值才能从测试值转换为产品值。我正在尝试解决此问题,以便您可以改用配置文件标志进行构建,但是我遇到了一件麻烦事。有一个applicationContext.xml文件,其中将数据库URL硬编码到其中,我希望能够根据配置文件进行更改,但是我在弄清楚如何做到这一点上遇到了麻烦。
所讨论的行如下所示:
<property name="url" value="jdbc:mysql://databaseserver:3306/testDatabase" />
如何在我的application.properties文件中加载正在设置的属性?
app.database.url="jdbc:mysql://databaseserver:3306/testDatabase"
答案 0 :(得分:0)
您可以通过几种方式来实现。例如,您可以将属性直接放在配置文件中的pom.xml文件中,也可以将它们放置在.properties文件中,然后确定在配置文件级别上应使用哪个文件。
这是执行此操作的第一种方法: 首先,您将在主pom.xml中编写类似的内容:
<project>
...
<profiles>
<profile>
<id>development</id>
<activation>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<app.database.url>jdbc:mysql://databaseserver:3306/testDatabase</app.database.url>
</properties>
</profile>
<profile>
<id>production</id>
<activation>
<property>
<name>env</name>
<value>prd</value>
</property>
</activation>
<properties>
<app.database.url>jdbc:mysql://anotherserver:1234/veryImportantProductionDatabase</app.database.url>
</properties>
</profile>
... </profiles>
</project>
然后,您将属性标签替换为给定的占位符,即
<property name="url" value="${app.database.url}" />
和瞧。希望有帮助
答案 1 :(得分:0)
简单的只是引用applicationContext.xml中的属性文件
<property name="url" value="${app.database.url} />