我正在尝试将一些 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
是空的。我什至不确定弹簧配置是否正在运行。