Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 读取.csv文件并使用Spring引导和Spring批处理将其存储在数据库中_Java_Spring_Spring Boot_Spring Batch - Fatal编程技术网

Java 读取.csv文件并使用Spring引导和Spring批处理将其存储在数据库中

Java 读取.csv文件并使用Spring引导和Spring批处理将其存储在数据库中,java,spring,spring-boot,spring-batch,Java,Spring,Spring Boot,Spring Batch,我正在开发一个简单的应用程序,它允许用户通过reactjs客户端上传一个.csv文件,并将其存储在mysql数据库中。我发现了一些 有关如何在线执行类似操作的教程,但它们都使用本地保存的.csv文件 在项目目录中。我有使用SpringBoot设计RESTful接口的经验,看起来SpringBatch很容易实现 但我不知道怎么做: 从现有的Spring引导应用程序调用Spring批处理应用程序 将.csv文件从客户端驱动器传递到Spring批处理应用程序 是否必须将.csv文件从客户端驱动器上载到

我正在开发一个简单的应用程序,它允许用户通过reactjs客户端上传一个.csv文件,并将其存储在mysql数据库中。我发现了一些 有关如何在线执行类似操作的教程,但它们都使用本地保存的.csv文件 在项目目录中。我有使用SpringBoot设计RESTful接口的经验,看起来SpringBatch很容易实现 但我不知道怎么做:

从现有的Spring引导应用程序调用Spring批处理应用程序 将.csv文件从客户端驱动器传递到Spring批处理应用程序 是否必须将.csv文件从客户端驱动器上载到正在运行Spring Batch或Spring Boot应用程序的服务器?
如果是这样,是否有一个托管服务允许我托管一个.csv文件和我的Spring应用程序?

您不需要两个单独的应用程序-您可以将Spring批处理作业/步骤嵌入Spring启动应用程序中


您需要创建一个接收多部分文件上载的端点,以将CSV文件存储在某个位置。否则,批处理步骤将无需处理任何内容。您可以将该文件存储在应用服务器的硬盘驱动器上,或者存储在托管存储解决方案(如Amazon S3)中。

当然,csv是非常简单的格式,但任何东西都有方便的库,可以“从盒子中”完成所有工作。看看OpenCSV。。。它可以从流中读取csv,您可以使用CSVReader对其进行自定义,例如,从db中逐行读取,或者使用数据获取大数据块。我认为它是处理CSV格式的最强大的库。

要从客户端接收CSV文件,您可以创建rest API,用于加载文件,我建议您通过应用程序使用MySQL内置功能加载数据填充调用,如果您不在csv文件数据上进行业务处理,这将比Spring Batch更快。