【发布时间】:2011-12-31 21:53:28
【问题描述】:
我创建了一个带有 @Configuration 注释的 Spring 类,我想将 ResourceLoader 自动装配到它,以便我可以在其中一个 @Bean 方法中使用它来查找由字符串给出的文件。当我运行应用程序并初始化上下文时,我得到一个访问自动装配字段的 NPE,在调试模式下,它显示为空/未设置。我期望 resourceLoader 存在是错误的吗?我是否错误地断言 Configuration bean 的自动装配发生在其方法被调用之前?加载此 bean 的 xml 配置标记为
@Configuration
public class ClientConfig {
@Autowired
private ResourceLoader resourceLoader;
public @Bean
String configHome() {
return System.getProperty("CONFIG_HOME");
}
public @Bean
PropertiesFactoryBean appProperties() {
String location = "file:" + configHome() + "/conf/webservice.properties";
PropertiesFactoryBean factoryBean = new PropertiesFactoryBean();
factoryBean.setLocation(resourceLoader.getResource(location));
return factoryBean;
}
}
【问题讨论】:
标签: spring configuration autowired