Spring Boot代码,工作流程为->上传文件-然后篡改文件-下载文件

时间:2019-04-26 13:14:28

标签: spring spring-boot spring-mvc spring-data-jpa

我正在spring.io(https://spring.io/guides/gs/spring-boot/)上进行以下教程,这是我的第一个spring-boot应用程序,我是Java开发人员。我正在使用Maven方法,并将其作为独立的jar部署(实际上与用例无关)。

有关代码的问题与结构化有关,归结为“我应该在哪里放入“业务逻辑”?”这个问题。我要应用的逻辑涉及以下两个用例。

  1. 我想转换上传的csv文件(或excel文件)中的2列,并让用户下载“ transformed”文件。
  2. 如果用户上传图像文件,我想检查图像中是否有任何EXIF标签(例如坐标++)-如果存在,我想将该信息存储在数据库中。 / li>

在我的用例中,还是应该更广泛地研究Spring MVC或类似技术?

最好的Ingo

现在我正在运行Ubuntu 18.04,并使用Java 1.8,Maven 3.0.5和Netbeans 8.2。

1 个答案:

答案 0 :(得分:0)

回答您的问题:

  

“我应该在哪里放置“业务逻辑”?”

您基本上希望控制器仅处理您的请求,并让另一个类处理逻辑,即Spring的Service。

您将拥有一个与此类似的文件MyService.java

@Service
class MyService {

    public MyData handleCSV(<your parameters>) {
        return ...
    }

}

在您的Controller中,您可以注入服务并简单地使用它:

@Controller
class MyController {

    @Autowired
    private MyService myService; 

}

就是这样。您可以在此控制器中的任何位置调用myService实例。