Java 如何获取applicationContext.xml文件从属性文件中提取值?
我对Java非常陌生,有一个项目我正在进行,我正在努力 对于这个应用程序,我们已经有了一个非常笨拙的构建过程,在这个过程中,您必须手动进入并更改pom.xml文件中的值,以便从测试值切换到产品值。我正试图解决这个问题,这样你就可以使用一个profile标志来构建,但是我在使用一个片段时遇到了一些麻烦。有一个applicationContext.xml文件,其中硬编码了数据库URL,我希望能够根据配置文件进行更改,但我很难弄清楚如何进行更改 这条线看起来像这样:Java 如何获取applicationContext.xml文件从属性文件中提取值?,java,xml,spring,build,pom.xml,Java,Xml,Spring,Build,Pom.xml,我对Java非常陌生,有一个项目我正在进行,我正在努力 对于这个应用程序,我们已经有了一个非常笨拙的构建过程,在这个过程中,您必须手动进入并更改pom.xml文件中的值,以便从测试值切换到产品值。我正试图解决这个问题,这样你就可以使用一个profile标志来构建,但是我在使用一个片段时遇到了一些麻烦。有一个applicationContext.xml文件,其中硬编码了数据库URL,我希望能够根据配置文件进行更改,但我很难弄清楚如何进行更改 这条线看起来像这样: <property name
<property name="url" value="jdbc:mysql://databaseserver:3306/testDatabase" />
你可以用几种方法来做。例如,您可以将属性直接放在概要文件中的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>
...
发展
环境
发展
jdbc:mysql://databaseserver:3306/testDatabase
生产
环境
珠三角
jdbc:mysql://anotherserver:1234/veryImportantProductionDatabase
...
然后用给定的占位符替换属性标记,即
<property name="url" value="${app.database.url}" />
瞧。希望这有助于简化,只需引用applicationContext.xml中的属性文件即可
这里是。这正是我所做的,但是application.Context文件仍然无法使用该属性,它将只是作为占位符。
<property name="url" value="${app.database.url}" />