簡體   English   中英

Spring Boot-從外部類路徑加載文件

[英]Spring boot - load file from outside classpath

我必須從類路徑之外加載文件。 位置取決於env屬性:

  • 在開發屬性中,我想從資源文件夾加載文件
  • 在prod屬性中,我想從路徑( /location/file )加載文件

最好的方法是什么?

一種可能的解決方案是使用配置屬性和Resource的使用。 例如,如下定義屬性:

@ConfigurationProperties(prefix = "app")
public class SomeProperties {
    private Resource file;

    // Getters + Setters
}

然后,通過在任何類(例如主類)上使用@EnableConfigurationProperties批注來啟用配置屬性。

@SpringBootApplication
@EnableConfigurationProperties(SomeProperties.class)
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

要配置文件位置,可以在開發中使用以下內容:

app.file=classpath:test.txt

在生產環境中,您可以使用:

app.file=file:/usr/local/test.txt

現在,您可以在任何其他服務中自動連接SomeProperties類。 Resource類具有getFile()方法,該方法允許您檢索文件,但除此之外,它還包含其他幾個有用的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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