2017-10-16 28 views
0

我試圖從代碼中取出ElasticSearch indexName的名稱並將其拉入到配置文件中。使用Spring配置文件中的條目作爲註解屬性的值

@Document(indexName = "test", type = "file") 
public class File { 
*** 
} 

我遇到的問題是,我不知道你如何/如果你可以把「考」到的值在屬性文件並在註釋中使用它。

回答

0

可以使用這樣做:

@Document(indexName = "${keyname}", type = "file") 

在你的屬性文件:

keyname=test

+0

可悲的是它似乎並沒有工作。 ElasticSearch將索引視爲「$ {keyname}」,而不是該值。如果在不同的bean中有@Value(「$ {keyname}」),映射就可以工作。 – Monitox

+0

我已經在一個簡單的Spring Boot應用程序中對它進行了測試,但是這個功能並不是它的獨佔性。我不知道你的環境,但我認爲屬性可能由於某種原因而不可用。看看這篇文章(http://blog.codeleak.pl/2015/09/placeholders-support-in-value.html)和[this](https://stackoverflow.com/questions/8470260/accessing-註釋中的屬性值)堆棧溢出線程以查看有關使用屬性值的更多詳細信息。希望能幫助到你。 –

相關問題