我有它使用SpringBoot和填充从queues.properties文件以下列方式一个POJO项目(这将被用来作为一个依赖):如何获得Spring Boot注释并在普通的Spring应用程序中执行?
@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;
}
...
通过在父拖着这种依赖性SpringBoot项目在其类路径上有一个“queues.properties”文件,QueuesConfig对象被填充正确的值。
我目前正试图通过在Plain Spring项目中使用此依赖项来实现相同的行为。我可以确认PropertySource注释获得“执行”并且queues.properties文件是StandardServletEnvironment(属于PropertySourceList中的条目)的一部分。
问题在于“ConfigurationPropertiesBindingPostProcessor”bean没有被注册(不是singletonObjects的一部分),因此应该填充POJO的代码没有被执行。
有没有解决方法?
非常感谢!
所以你基本上是说*我想使用Spring Boot的这个功能而不使用Spring Boot * ...您如何期待这将起作用?您需要在您的类路径中使用Spring Boot jar,并手动执行Spring Boot为您做的事情。然后,你获得了什么,但复杂性和类路径上的附加jar。 –