私は Spring を使用しています。プロパティ ファイルから値を読み取る必要があります。これは外部プロパティ ファイルではなく、内部プロパティ ファイルです。プロパティ ファイルは以下のようになります。
some.properties ---file name. values are below.
abc = abc
def = dsd
ghi = weds
jil = sdd
従来の方法ではなく、プロパティ ファイルからこれらの値を読み取る必要があります。どうすれば実現できますか? Spring 3.0 には最新のアプローチがありますか?
ベストアンサー1
コンテキストで PropertyPlaceholder を構成します。
<context:property-placeholder location="classpath*:my.properties"/>
次に、Bean 内のプロパティを参照します。
@Component
class MyClass {
@Value("${my.property.name}")
private String[] myValues;
}
複数のコンマ区切り値を持つプロパティを解析するには:
my.property.name=aaa,bbb,ccc
それが機能しない場合は、プロパティを使用して Bean を定義し、手動で挿入して処理することができます。
<bean id="myProperties"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath*:my.properties</value>
</list>
</property>
</bean>
そして豆:
@Component
class MyClass {
@Resource(name="myProperties")
private Properties myProperties;
@PostConstruct
public void init() {
// do whatever you need with properties
}
}