之前写过 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 开发的项目分层有许多最佳实践,最简单的可以根据阿里巴巴的规范手册来执行,当然也可以加入一些自己的修改。
这里对几个包进行解释,api
即通常的 controller 包,model
有时也写作 entity,mapper
有时也写作 dao、repository等。
这个项目结构可以发现 service
层级下面没有 impl 包,按照规范及面向抽象的思维,service 包内是接口,impl 才是 service 的实现,但是在大多情况下,一个接口只对应了一个实现,所以这里简化成了 service 层直接就是实现层了,最终分层可以参考公司规范,但这个项目结构也是一个不错的选择。