Spring 構成を既存のユーティリティ クラスに追加しようとしています。うまくいかないようで、その理由もわかりません (これらの Spring オプションを初めて使用したので、正しく実行できているかどうかさえわかりません)。
問題のクラス
@Configurable(autowire=Autowire.BY_NAME, preConstruction=true)
public class DataUtility
{
private static final DataUtility INSTANCE = new DataUtility();
@Autowired(required=true) //This is the new field and annotation
private Map<String,String> dataFileMapping = new HashMap<String, String>();
public static DataUtility getInstance()
{
return INSTANCE;
}
private DataUtility()
{
//Do a bunch of setup work here
for (String s : dataFileMapping)
{
addDataToCache(dataFileMapping(s))
}
}
春の設定は次のようになります。
<context:annotation-config/>
<context:spring-configured/>
<bean id="util" class="com.myCompany.DataUtility">
<property name="dataFileMapping">
<map>
<entry key="data1" value="data/file1.dat"/>
<entry key="data2" value="data/file2.dat"/>
<entry key="data3" value="data/file3.dat"/>
</map>
</property>
</bean>
問題は、デバッガーでコードをステップ実行すると、コードdataFileMapping
が空であることを確認できることです。春の設定が実行されているかどうかさえわかりません。