Spring を PropertyPlaceholderConfigurer と共に使用して .properties ファイルをロードし、@Value を使用してそれらの値を変数または何らかのオブジェクトに格納する方法を理解しています。
ただし、キーが異なる場合に、ネストされたキーと値のペアを含むプロパティ ファイルを Spring にロードさせるにはどうすればよいでしょうか。
たとえば、次の car.properties ファイルがあるとします。
Chevy=Corvette:String,1234567890:long,sportsCar:String
Honda=Odyssey:String,2345678910:long,minivan:String
Ford=F350:String,4567891011:long,truck:String
ここで、プロパティ ファイルの各行には、make であるキーがあり、その後に 3 つのネストされたキーと値のペアが続きます。つまり、モデル用に 1 つ、VIN 用に 1 つ、車両タイプ用に 1 つです。
<make>=<model>:<dataType>,<vin>:<dataType>,<vehicleType>:<dataType>
将来の車両が後で追加されるため、この構造を使用しています。また、基礎となる Java コードを変更したくありません。そして、これらの車両のプロパティを使用して、テスト用の車両に関するランダム データを生成するとします。
Spring を使用して、プロパティ ファイルの各行を車両値のコレクションとしてロードし、arraylist に格納するにはどうすればよいですか? これらの各車両が「すべての車両」配列リスト内の配列リストになる2D配列リストがあると思います。次に、ビークル配列リストの 1 つをランダムに選択して、ダミーのビークル データを生成します。
とにかく、私は正しい軌道に乗っていると思いますが、Spring を使用してネストされたキーと値のペアをロードする方法がわかりません。助言がありますか?
私のために働く更新されたcontext.xml:
ところで、ここに私が使用している context.xml があります:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
<!-- creates a java.util.Properties instance with values loaded from the supplied location -->
<util:properties id="carProperties" location="classpath:/car.properties"/>
<bean class="com.data.rcgen.generator.CarLoader">
<property name="sourceProperties" ref="carProperties" />
</bean>
</beans>