[英]Spring Boot - Load application.properties/yml from dependent jar
[英]How to configure Spring to load application.properties from outside of jar?
我想要這樣的目錄結構:
/Directory
- Application.jar
- application.properties
這樣我就可以更改屬性,而不必重新打包和重新部署(而只需重新啟動jar)。 如何使用spring注釋或配置類完成此操作?
我並不是在問如何使外部資源可用於我的Web應用程序,我還想更改Spring從中加載application.properties文件的位置。
您提到的是jar,所以您正在使用Spring Boot?
如果是這樣,同一目錄(結構如您所述)中的外部application.properties將覆蓋jar文件中打包的application.properties。
然后,如果application.properties中有類似key=value
,則可以使用@Value("${key}") String key
將其注入代碼中。
試試看,它會工作的:)
您可能要在Spring中探索PropertyPlaceholderExplorer類。 此類提供了訪問jar / war捆綁包外部的屬性文件的工具。 在燈架上有一個簡短的教程不錯,以及在這里 。
如果您開始使用Spring Boot(肯定會在某個階段使用)。 您將獲得強大的配置外部化功能 。
使用Spring Boot,您的applications.properties將自動加載到Spring Boot上下文中,並且您可以使用${...}
占位符。
您可以使用更現代的功能@ConfigurationProperties將您的配置映射到POJO。 該POJO甚至可以通過Java EE驗證注釋(例如@NotNull)進行驗證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.