Spring MVC架构中的辅助功能

时间:2018-06-20 07:43:24

标签: spring-mvc spring-boot

我想知道哪种是在Spring体系结构中为解压缩文件实现帮助器功能的最佳方法。

例如:

  • 我有一个控制器来捕获请求以解压缩指定文件;
  • 在控制器端点中,我对请求和请求的文件进行了一些检查;

现在,我想知道像这样的流程是否更好:

  1. MyController-> FileService-> FileServiceImpl-> unzipMethod();
  2. MyController-> FileService-> FileServiceImpl-> FileUtils-> unzipMethod();
  3. MyController-> FileUtils-> unzipMethod()。

我不确定这是最佳做法。你能给我一些建议吗? :)

4 个答案:

答案 0 :(得分:0)

我的建议是在.utils包中创建一个util类,并在其中创建一个static方法unzipMethod()。

,然后使用className.methodName()

从任何地方拨打电话

答案 1 :(得分:0)

为端点设置@Service类,并在该服务中使用FileUtils-> unzipMethod()。 unzipMethod可以是静态的。

最好为端点提供服务类,因为在某些有条件的工作或使用解压缩文件进行处理的情况下,服务可以容纳它。

答案 2 :(得分:0)

我会选择第二个选项,因为按照oops的原则,它会很好,并且独立且可重用。

您将来可能希望拥有更多的业务逻辑,因此最好具有服务和服务隐含功能,并且您可能还需要在项目中其他位置使用解压缩功能,因此最好将其单独保存在util文件中。

答案 3 :(得分:0)

为什么要使用静态方法?创建一个代表文件的新类是否更好?此类可以接收到zip存档的路径作为构造函数参数,然后可以使用一种方法来解压缩文件。在静态方法之前,类具有一些优点:您可以轻松地对其进行测试,并且可以轻松地在单元测试中对其进行模拟。

P.S。您可以找到有关“真实OOP” herehere的更多信息。