之前写过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 资源目录
- /java 主包
- /test 测试目录
- /main 主目录
这里对几个包进行解释,api
即通常的 controller 包,model
有时也写作 entity,mapper
有时也写作 dao、repository等。
这个项目结构可以发现 service
层级下面没有 impl 包,按照规范及面向抽象的思维,service包内是接口,impl才是service的实现,但是在大多情况下,一个接口只对应了一个实现,所以这里简化成了service层直接就是实现层了,最终分层可以参考公司规范,但这个项目结构也是一个不错的选择。
Comments | 0 条评论