Spring Boot 构建 Web API Wheel(一)—— 版本选择及项目结构组织

Updated on in Java with 382 views

之前写过 Flask 构建 Web API 系列 Flask构建Web API Wheel(一)—— Python版本选择,现在想针对 Java 的 Spring Boot 也做一个相同的系列。

版本选择

对于 Java 版本,网上也一直有争议,“Java18 都出来了,为什么还有人用 Java8”,可能这就是执着吧,哈哈哈。对于 Java 版本,还是看企业的选择,但目前个人项目使用 8 是非常合适的,一个是用的人最多(毫无疑问),另一个是 Java8 的 Lambda、Stream 流等特性在开发中也十分够用。

对于 Spring Boot 版本,可以参照 Spring Boot 官网 选择代有 GA (稳定版本)、CURRENT(当前版本) 标签的版本即可。

项目结构

Spring Boot 开发的项目分层有许多最佳实践,最简单的可以根据阿里巴巴的规范手册来执行,当然也可以加入一些自己的修改。

  • /log 日志目录
  • /src 源码目录
    • /main 主目录
      • /java 主包
        • /api 接口包
        • /bo 业务模型包
        • /common 通用包
          • /advice AOP通知包
          • /annotation 注解包
          • /configuration 配置包
          • /enumeration 枚举包
          • /exception 异常处理包
          • /interceptor 拦截器包
          • /util 工具包
        • /dto 传输模型包
          • /validator 验证包
        • /manger 第三方扩展包
        • /mapper 数据模型操作包
        • /model 模型包
        • /service 业务包
        • /vo 视图模型包
      • /resources 资源目录
    • /test 测试目录

这里对几个包进行解释,api 即通常的 controller 包,model 有时也写作 entity,mapper 有时也写作 dao、repository等。

这个项目结构可以发现 service 层级下面没有 impl 包,按照规范及面向抽象的思维,service 包内是接口,impl 才是 service 的实现,但是在大多情况下,一个接口只对应了一个实现,所以这里简化成了 service 层直接就是实现层了,最终分层可以参考公司规范,但这个项目结构也是一个不错的选择。


标题:Spring Boot 构建 Web API Wheel(一)—— 版本选择及项目结构组织
作者:Jeffrey

Responses
取消