我遇到使用@ConfigurationProperties功能的问题。 也许,我错过了一些东西,因为这个机制看起来很简单,但对我而言,它不起作用。Spring @ConfigurationProperties未填充
我使用Spring启动,具有下列主要应用类
@SpringBootApplication
@EnableAspectJAutoProxy
@EnableConfigurationProperties(QueuesProperties.class)
@PropertySource("file:config/queues.properties")
@ImportResource("classpath:/spring-config.xml")
public class Application {
public static void main(String... args) {
ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args);
}
}
与QueuesProperties
@ConfigurationProperties(prefix = "wmq.in.queue")
public class QueuesProperties {
private static final Logger LOGGER = LoggerFactory.getLogger(QueuesProperties.class);
private String descr;
public String getDescr() {
return descr;
}
public void setDescr(String descr) {
this.descr = descr;
}
}
属性文件是非常简单的(我试图隔离问题)
wmq.in.queue.descr = description
然后,我试图在@Componen中@Autowired QueuesProperties我用在一个弹簧整合流与a。 QueuesProperties被正确注入,但descr
属性为空。
@Autowired
private QueuesProperties queuesConfiguration;
而此
@Value("${wmq.in.queue.descr}")
private String descr;
被正确评估。
我用不同的配置或代码做了很多尝试,但结果是一样的。我得到了QueuesProperties bean,但它没有被填充。
我错过了什么?
我有一个application.properties文件的地方(实际上他们是2,一个在classpath中有默认值,另一个在文件config/application.properties中覆盖),我也尝试从外部属性中加载属性,但现在我试图找出问题并添加了另一个属性文件(file:config/queues.properties)只有一个属性 'wmq.in.queue.descr = description' – nex
您是否使用@EnableConfigurationProperties注释了配置/组件类,如同我的示例一样? –
我用 @EnableConfigurationProperties(QueuesProperties)注释了应用程序类。class)和@PropertySource(“file:config/queues.properties”) – nex