我有一个项目(这将用作依赖项),它使用 SpringBoot 并以下列方式从 queues.properties 文件中填充 POJO:
@Component
@PropertySource({"classpath:queues.properties"})
@ConfigurationProperties("queue")
public class QueuesConfig {
private String messagingBrokerXml;
private String messagingBrokerJolokia;
private String messagingBrokerApi;
private List<QueuesConfig.QueueModel> queues = new ArrayList();
public QueuesConfig() {
}
public String getMessagingBrokerXml() {
return this.messagingBrokerXml;
}
...
通过在其类路径上具有“queues.properties”文件的父 SpringBoot 项目中拖动此依赖项,QueuesConfig 对象将填充正确的值。
我目前正在尝试通过在 Plain Spring 项目中使用此依赖项来实现相同的行为。我可以确认 PropertySource 注释被“执行”并且 queues.properties 文件是 StandardServletEnvironment 的一部分(作为 propertySourceList 中的一个条目)。
问题是“ConfigurationPropertiesBindingPostProcessor”bean 没有被注册(不是 singletonObjects 的一部分),因此应该填充 POJO 的代码没有被执行。
有什么解决方法吗?
非常感谢 !