介紹基於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
以上是springBoot專案常用目錄有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!