プロパティファイルから値を読み取るにはどうすればいいですか? 質問する

プロパティファイルから値を読み取るにはどうすればいいですか? 質問する

私は 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
  }
}

おすすめ記事