首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Spring Boot注解在一个普通的Spring应用程序中被拖入并执行?

如何让Spring Boot注解在一个普通的Spring应用程序中被拖入并执行?
EN

Stack Overflow用户
提问于 2017-10-18 21:38:30
回答 1查看 227关注 0票数 0

我有一个项目(这将用作依赖项),它使用SpringBoot,并以以下方式从queues.properties文件填充POJO:

代码语言:javascript
复制
@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的代码没有被执行。

有什么解决方法吗?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-10-18 22:30:40

尝试将此代码添加到父Spring @Configuration类中:

代码语言:javascript
复制
@EnableConfigurationProperties(QueuesConfig.class) 

有关更多详细信息,请阅读Spring Boot文档的这一部分。这是几个屏幕的文本,但它是值得的;-)

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-typesafe-configuration-properties

它在您的测试应用程序中可能运行良好,因为您在@SpringBootApplication中使用了一些高级魔法:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46811570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档