1

他のいくつかの投稿を検索しましたが、必要なものを正確に見つけることができませんでしたが、これは簡単な質問だと思います..

したがって、myprops.properties というプロパティ ファイルがあります。

myprops.localProp1=localProp1
myprops.localProp2=localProp2
myprops.systemProp=${systemPropertyName}

基本的にこのプロパティファイルでは、localProp1 と locapProp2 は値をそのまま使いたいのですが、systemProp はシステムプロパティを読み込みたいと思います。システム プロパティが常に設定されているとします。

私の春の設定xmlは次のようになります...

<bean id="myprops" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <qualifer value="myprops" />
    <property name="singleton" value="true"/>
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
        <list><value>classpath:myprops.properties</value></list>
    </property>
</bean>

修飾子を使用してこの Bean を自動配線し、修飾子文字列「myprops」を使用して別のクラスでアクセスします。myprops.systemProp を除いて、期待されるすべての値がそこにありますが、それでも ${systemPropertyName} です。

このプロパティを実際のシステム プロパティで解決するにはどうすればよいですか?

春の設定で次のことを試しました:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="properties" ref="myprops" />
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>

これは役に立たなかったようです..

何か案は?これが簡単なものであることを願っています。プロパティ構成の一般的な概念を誤解しているだけです。

注:すべてのコードを手動で入力する必要があり、コピー/貼り付けできませんでした。タイプミスをお許しください。

ありがとう。

4

0 に答える 0