簡體   English   中英

如何配置Spring以從jar外部加載application.properties?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM