Java 如何获取applicationContext.xml文件从属性文件中提取值?

Java 如何获取applicationContext.xml文件从属性文件中提取值?,java,xml,spring,build,pom.xml,Java,Xml,Spring,Build,Pom.xml,我对Java非常陌生,有一个项目我正在进行,我正在努力 对于这个应用程序,我们已经有了一个非常笨拙的构建过程,在这个过程中,您必须手动进入并更改pom.xml文件中的值,以便从测试值切换到产品值。我正试图解决这个问题,这样你就可以使用一个profile标志来构建,但是我在使用一个片段时遇到了一些麻烦。有一个applicationContext.xml文件,其中硬编码了数据库URL,我希望能够根据配置文件进行更改,但我很难弄清楚如何进行更改 这条线看起来像这样: <property name

我对Java非常陌生,有一个项目我正在进行,我正在努力

对于这个应用程序,我们已经有了一个非常笨拙的构建过程,在这个过程中,您必须手动进入并更改pom.xml文件中的值,以便从测试值切换到产品值。我正试图解决这个问题,这样你就可以使用一个profile标志来构建,但是我在使用一个片段时遇到了一些麻烦。有一个applicationContext.xml文件,其中硬编码了数据库URL,我希望能够根据配置文件进行更改,但我很难弄清楚如何进行更改

这条线看起来像这样:

<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}" />