在春天mvc

时间:2016-04-21 06:18:55

标签: spring spring-mvc spring-boot

我有一个帮助类,它为我的API请求生成一个pdf。我是spring的新手(使用spring boot),我想遵循严格的包装结构。

我很困惑: -

1.我应该使用什么包名称。例如:com.abx.myapp.helper

2.对于这些帮助程序类,我应该遵循哪种命名约定?

3 个答案:

答案 0 :(得分:1)

我不建议使用helper软件包,因为它可能成为无关帮助程序功能的倾销场。相反,我会将与PDF相关的所有内容放在pdf包中。

对于生成PDF的类本身,我给它一个描述性的名称,描述它的作用。类似于PdfGenerator

答案 1 :(得分:1)

这是一个非常主观的话题。我个人更喜欢按照共同的业务领域对类进行分组,将它们组合成逻辑模块:

org.app.report
|
+- ReportController
+- ReportService
+- PdfWriter

org.app.customer
|
+- Customer
+- CustomerController
+- CustomerService
+- CustomerRepository

,而不是按类的功能目的进行分组:

org.app.controller
|
+- ReportController
+- CustomerController

org.app.service
|
+- etc...

因此,按照我的首选包装,您可能希望将此类放在其他相关业务代码旁边。但请记住:

  • 是项目特定的
  • 是个人偏好
  • 必须设置为项目自己的 每个团队成员必须遵循的最佳实践

如果您想在多个地方重复使用此帮助程序,请考虑将其保留在某种外部utilhelper包中。

答案 2 :(得分:1)

这取决于您要遵循的项目结构。我通常遵循这些类型的项目结构:

1. eg.com.myapp
├─── service
│    ├──── UserService.java
│    └──── PdfService.java
├─── controller
│    ├──── UserController.java
│    └──── PdfController.java
└─── util
     ├──── PdfUtils.java
     └──── UserDetailsVerifier.java

2. eg.com.myapp
├─── user
│    ├──── UserController.java
│    ├──── UserDetailsVerifier.java
│    └──── UserService.java
└─── pdf
     ├──── PdfService.java
     ├──── PdfController.java
     └──── PdfUtils.java

所以eg.com.myapp.util.PdfUtils.javaeg.com.myapp.pdf.PdfUtils.java。 就个人而言,我发现第二种结构最适合我,特别是在大型项目上工作时,因为使用第一种结构可能会很快失控 - 查找控制器和服务变成了一件苦差事。

如果您的pdf utils类包含更多通用方法,则可以将其命名为PdfUtils.java或仅Pdfs.java。虽然将它命名为例如PdfGenerator.java并且使其具有仅针对pdf生成的方法并且没有其他方法(例如spring具有Base64Utils.java以用于使用Base64编码和解码将更清楚,jpa具有{ {1}}仅用于规范组合。