如何在 spring 引导项目的 statup 上创建目录

How to create a directory on statup in spring boot project

我正在创建一个目录,用于在启动时将所有上传的文件存储在我的 spring 启动应用程序中。

该目录的路径存储在application.properties文件中。 我正在尝试读取此路径并在 startupof 项目上创建一个目录。在启动时创建目录时无法获取路径。

application.properties

upload.path = "/src/main/resources"

StorageProperties.java

import org.springframework.boot.context.properties.ConfigurationProperties;

@ConfigurationProperties(prefix = "upload")
public class StorageProperties {

    private String path;

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

}
  • 第一步:让你的 StorageProperties 成为一个组件
  • 第 2 步:在您的 StartUpComponent 中自动装配该组件
  • 第 3 步:创建文件夹
@Component
@ConfigurationProperties(prefix = "upload")
public class StorageProperties {

  private String path;

  // getters and setters
}
@Component
public class StartupComponent implements CommandLineRunner {
   private final StorageProperties storageProps;

   public StartupComponent (StorageProperties storageProps){
     this.storageProps = storageProps;
   }

  @Override
  public void run(String... args) throws Exception {
     String path = storageProps.getPath();
     // do your stuff here
  }
}