springBoot项目常用目录有哪些
springboot项目常用目录有哪些
本文讲解"springboot项目常用目录有哪些",希望能够解决相关问题。
springboot项目常用目录
springboot项目的目录结构及名规范
介绍基于springboot开发时的目录结构及命名规范,通过介绍能够为你解决,在实际项目中如何规划目录结构?如何命名目录更规范?各个目录分别代表什么含义?等三个问题。
目录说明
servicex // 项目名 |- admin-ui // 管理服务前端代码(一般将ui和service放到一个工程中,便于管理) |- servicex-auth // 模块1 |- servicex-common // 模块2 |- servicex-gateway // 模块3 |- servicex-system // 模块4 |- src |- main // 业务逻辑 |- assembly // 基于maven assembly插件的服务化打包方案 |- bin // 模块脚本(启动、停止、重启) |- sbin // 管理员角色使用的脚本(环境检查、系统检测等等) |- assembly.xml // 配置文件 |- java // 源码 |- com |- hadoopx |- servicex |- system |- annotation // 注解 |- aspect // 面向切面编程 |- config // 配置文件pojo |- filter // 过滤器 |- constant // 存放常量 |- utils // 工具 |- exception // 异常 |- controller // 控制层(将请求通过url匹配,分配到不同的接收器/方法进行处理,然后返回结果) |- service // 服务层接口 |- impl // 服务层实现 |- mapper/repository // 数据访问层,与数据库交互为service提供接口 |- entity/domain // 实体对象 |- dto // 持久层需要的实体对象(用于服务层与持久层之间的数据传输对象) |- vo // 视图层需要的实体对象(用于服务层与视图层之间的数据传输对象) |- *application.java // 入口启动类 |- resources // 资源 |- static // 静态资源(html、css、js、图片等) |- templates // 视图模板(jsp、thymeleaf等) |- mapper // 存放数据访问层对应的xml配置 |- *mapper.xml |- ... |- application.yml // 公共配置 |- application-dev.yml // 开发环境配置 |- application-prod.yml // 生产环境配置 |- banner.txt |- logback.xml // 日志配置 |- test // 测试源码 |- java |- com |- hadoopx |- servicex |- system |- 根据具体情况按源码目录结构存放编写的测试用例 |- target // 编译打包输出目录(自动生成,不需要创建) |- pom.xml // 该模块的pom文件 |- sql // 项目需要的sql脚本 |- doc // 精简版的开发、运维手册 |- .gitignore // 哪些文件不用传到版本管控工具中 |- pom.xml // 工程总pom文件 |- readme.md // 注意事项 external libraries // 相关jar包依赖
注意事项
(1). mapper/repository,数据访问层,与数据库交互为service提供接口(对某个表进行增删改查,一个’*mapper.java’和一个’*mapper.xml’对应一张表(存在关联查询的情况);mybatis使用的是mapper,jpa使用的是repository)
(2). entity/domain,数据实体类(mybatis使用的是entity,jpa使用的是domain)
(3). pojo,vo,dto,do,po,bo的含义:
- pojo:是一个简单的、普通的java对象,它包含业务逻辑处理或持久化逻辑等。但不是javabean、entitybean等,不具有任何特殊角色,不继承或不实现任何其它java框架的类或接口。可以包含类似与javabean属性和对属性访问的setter和getter方法的对象。
- vo(view object):视图对象,用于展示层显示,代表展示层需要显示的数据。它的作用是把某个指定页面/组件需要的所有数据封装起来。
- dto(data transfer object):数据传输对象,用于服务层与持久层之间的数据传输对象,代表服务层需要接收/返回的数据。
- do(domain object): 领域对象,就是从现实世界中抽象出来的有形或无形的实体对象。
- po(persistent object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,数据表中的每个字段(或若干个)就对应po的一个(或若干个)属性。
- bo(business object): 业务对象,用于把业务逻辑封装为一个对象,这个对象可以包括一个或多个其它的对象。
- pojo持久化之后 -> po;pojo传输过程中 -> dto;pojo用作表示层 -> vo