如果我有一个通过XML文件发送的PropertyPlaceholderConfigurer
,是否可以让我的Spring @Configuration
使用它作为它处理的所有bean的属性源?
@Configuration
@ComponentScan(value = { "x.y.z })
@ImportResource({ "classpath:remote-properties/applicationContext.xml",})
public class CoreConfiguration implements TransactionManagementConfigurer {
@Resource(name = "com.c.h.c.PropertyPlaceholderConfigurer")
public PropertyPlaceholderConfigurer pp;
@Bean
public PropertyPlaceholderConfigurer propertiesFactoryBean() {
return pp;
}
}
有了以上内容,它就永远不会碰到我在
pp
上的断点。如果删除了@Bean
和方法,则可以验证是否已填充pp
。那么如何在配置中注册呢? 最佳答案
我觉得很傻。我在@Value
注释之一上缺少右花括号。我无法想象我看了几次却错过了。
因此,将PropertyPlaceHolderConfigurer
放在应用程序上下文中使用@ImportResource
即可正常工作。您甚至不需要将其作为@Resource
引入。