0

私は現在Javaアプリケーションに取り組んでいます。アプリケーションには3つの異なるプロパティファイルがあります。アプリを実行しているサーバーの名前に基づいて、プロパティファイルの名前を設定できるようにしたい。

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
     <list>
        <value>classpath:/config/InfSit.properties</value>      
     </list>
    </property>
 </bean>

これは私のapplication-config.xmlからのものであり、現在は正常に機能しています。アプリケーションが実行されているサーバーに基づいて、プロパティファイルの名前を変更できるようにしたい。したがって、「InfSit.properties」は「Inf $ {Env} .properties」(またはこれらの行に沿ったもの)になります-しかし、$ {Env}パラメーターを渡す方法が必要です(別のクラスの文字列でもかまいません)。誰かがこれを行うための最良の方法を提案できますか?

ありがとう。

4

2 に答える 2

0

変数を設定して参照するだけです。CATALINA_HOMEでも同様です。

<context:property-placeholder location="file:${catalina.home}/conf/database_UAT.properties"
                                  ignore-unresolvable="true"/>

変数を正しく設定していることを確認してください...

于 2012-12-04T14:54:27.707 に答える
0

Java引数でシステムプロパティを設定します

java -Denv=Sit ...

そしてそれは場所exprの${env}を置き換えます

<context:property-placeholder location="classpath:/config/Inf${env}.properties" />
于 2012-12-04T16:10:52.717 に答える