他のいくつかの投稿を検索しましたが、必要なものを正確に見つけることができませんでしたが、これは簡単な質問だと思います..
したがって、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>
これは役に立たなかったようです..
何か案は?これが簡単なものであることを願っています。プロパティ構成の一般的な概念を誤解しているだけです。
注:すべてのコードを手動で入力する必要があり、コピー/貼り付けできませんでした。タイプミスをお許しください。
ありがとう。