java - 如何在spring boot项目启动时创建目录

标签 java spring-boot web jakarta-ee file-handling

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

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

应用程序属性

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

存储属性.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 中 Autowiring 该组件
  • 第 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
  }
}

关于java - 如何在spring boot项目启动时创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56187233/

相关文章:

java - @PreAuthorize 在一个方法上调用但在另一个方法上不调用

java - 需要添加允许访问 Cassandra 过滤

java - 使用 java 8 使用参数构建

java - 有没有办法在 LWJGL/LibGDX 中设置应用程序窗口的位置?

java - 尝试在 Ubuntu 上运行 jshell 时,当前未安装程序 'jshell'

java - 带有自定义安全过滤器的 Spring Boot OAuth2

javascript - AngularJS 将递归 JSON 解析为对象数组

C# 网站与 mySQL 数据库的连接

python - 如何使用 python 作为服务器端语言?

python - 如何在谷歌地图中直观地显示路线