我有一个带有@Value注释的Spring webapp,它由PropertySourcesPlaceholderConfigurer填充。注释在我的webapp中正确解析。
但是,当我使用SpringJunit4ClassRunner运行单元测试并使用特定的bean配置文件进行单元测试时,无论是否从Eclipse运行测试,我都会收到“无法解析字符串$ {xxx}中的占位符xxx”异常来自Maven。
有趣的是,PropertySourcesPlcHlCfg。初始化(正确且只有一次)并找到属性文件,就像我重命名它一样,我得到一个FileNotFoundException。
这里可能出现什么问题?
谢谢!
答案 0 :(得分:1)
您可以尝试使用(如果是Spring 4)
@TestPropertySource(value="classpath:/test.properties")
用于加载Junit Test的特定文件。
或者,您也可以尝试在配置中创建bean PropertySourcesPlaceholderConfigurer
@Bean
public static PropertySourcesPlaceholderConfigurer propertiesResolver() {
return new PropertySourcesPlaceholderConfigurer();
}