2016-01-24 44 views
0

我已經使用spring-boot profiles來改變不同環境的屬性值,現在我想用同樣的方法來加載不同的資源文件,例如我有dev查詢和prod_queries.xml與sql查詢。Spring引導,使用配置文件來加載文件

如果可以使用spring-boot加載dev_queries.xml(如果活動配置文件是dev)並且prod_queries.xml是其他方式。我知道我可以檢查活動的配置文件,但我的想法是不添加特定的邏輯來處理這種情況。

+0

你現在如何加載文件?請添加一些代碼。 – dunni

回答

3

它有助於將文件名外化爲自定義屬性(docs,特別是24.4)?所以,在你的屬性,你可以使用:

@Value("${myapp.query-source}") 
private String querySource; // will be dev_queries.xml or prod_queries.xml 

的代碼,這樣你在哪裏加載XML文件:

# application-dev.properties 
myapp.query-source=dev_queries.xml 

# application-production.properties 
myapp.query-source=prod_queries.xml 

在您的應用程序豆類該設置可以通過使用@Value註釋進行訪問您不必有條件地檢查當前活動的配置文件,但可以將該設置外部化爲屬性。

+0

我結束了非常相似的感謝:),@ConfigurationProperties(locations =「$ {myapp.query_file}」) – jcrada