做了那么多项目,真正的项目结构你未必知道!

一文带你看清Java项目结构

做项目时有没有出现新建一个文件不知该放哪,有没有出现过找不到自己写的代码,这次带你一次性梳理好项目结构。

本项目结构参考《阿里巴巴Java开发手册》制作,也是多数中大型项目的架构。当然,还是要以需求为主,如果是练习的小项目完全不必按照此项目结构进行项目创建。小型项目创建的粒度太细只会适得其反。

1. 基本结构图

这一部分绝大多数程序猿是知道的
基本结构

  • /src/main/java :Java源代码
  • /src/main/resources:配置文件与静态文件
  • /src/test/java:测试用的Java代码

2. java源代码的结构

java源代码的结构

  • annotation :项目内的自定义注解
  • aspect:切面代码(AOP)
  • config:配置类
  • constant:常量、枚举层
  •     consist:常量
  •     enums:枚举
  • controller:前端控制器
  • filter:过滤器、拦截器
  • mapper:数据访问层
  • model:数据模型
  •     dto:数据传输对象
  •     entity:数据库实体类
  •     vo:显示层对象
  • service:业务逻辑
  •     intf:接口定义
  •     impl:接口实现
  • utils:工具类

《阿里巴巴Java开发手册》分层领域模型规约:
DO(Data Object) :与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
DTO(Data Transfer Object) :数据传输对象, Service 或 Manager 向外传输的对象。
BO(Business Object) :业务对象。 由 Service 层输出的封装业务逻辑的对象。
AO(Application Object) : 应用对象。 在 Web 层与 Service 层之间抽象的复用对象模型,
极为贴近展示层,复用度不高。
VO(View Object) : 显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
Query:数据查询对象,各层接收上层的查询请求。 注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。

3. resources源代码的结构

resources源代码

  • mapper:存放mybatis的XML文件(非mybatis无需此项)
  • static:静态资源(css,js,img等静态文件)
  • templates:网页模板(xxx.html)
  • application.yml:基本配置文件
  • application-dev.yml:开发环境配置文件
  • application-prod.yml:生产环境配置文件
  • application-test.yml:测试环境配置文件

4. test源代码的结构

test源代码

执行流程

执行流程
具体项目结构需根据实际项目来定义。当然,有规律的项目结构在后期维护当然会事半功倍。

发布了5 篇原创文章 · 获赞 6 · 访问量 1827

猜你喜欢

转载自blog.csdn.net/qq_26020387/article/details/105088314