我遇到使用@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