Skip to content

项目结构

后端项目按功能拆分模块,下方项目目录结构是按照模块的层次顺序进行介绍的,实际 IDE 中 continew-admin-common 模块会因为字母排序原因排在上方。

continew-admin
├─ continew-webapi(API 及打包部署模块)
│  ├─ src
│  │  ├─ main
│  │  │  ├─ java/top/continew/admin
│  │  │  │  ├─ config (配置)
│  │  │  │  ├─ controller
│  │  │  │  │  ├─ auth(系统认证相关 API)
│  │  │  │  │  ├─ common(通用相关 API)
│  │  │  │  │  ├─ monitor(系统监控相关 API)
│  │  │  │  │  ├─ system(系统管理相关 API)
│  │  │  │  │  └─ tool(系统工具相关 API)
│  │  │  │  └─ ContiNewAdminApplication.java(ContiNew Admin 启动程序)
│  │  │  └─ resources
│  │  │     ├─ config(核心配置目录)
│  │  │     │  ├─ application-dev.yml(开发环境配置文件)
│  │  │     │  ├─ application-prod.yml(生产环境配置文件)
│  │  │     │  └─ application.yml(通用配置文件)
│  │  │     ├─ db/changelog(Liquibase 数据脚本配置目录)
│  │  │     │  ├─ mysql(MySQL 数据库初始 SQL 脚本目录)
│  │  │     │  ├─ postgresql(PostgreSQL 数据库初始 SQL 脚本目录)
│  │  │     │  └─ db.changelog-master.yaml(Liquibase 变更记录文件)
│  │  │     ├─ templates(模板配置目录,例如:邮件模板)
│  │  │     ├─ banner.txt(Banner 配置文件)
│  │  │     └─ logback-spring.xml(日志配置文件)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml(包含打包相关配置)
├─ continew-module-system(系统管理模块,存放系统管理相关业务功能,例如:部门管理、角色管理、用户管理等)
│  ├─ src
│  │  ├─ main
│  │  │  ├─ java/top/continew/admin
│  │  │  │  ├─ auth(系统认证相关业务)
│  │  │  │  │  ├─ model(系统认证相关模型)
│  │  │  │  │  │  ├─ query(系统认证相关查询条件)
│  │  │  │  │  │  ├─ req(系统认证相关请求对象(Request))
│  │  │  │  │  │  └─ resp(系统认证相关响应对象(Response))
│  │  │  │  │  └─ service(系统认证相关业务接口及实现类)
│  │  │  │  └─ system(系统管理相关业务)
│  │  │  │     ├─ config(系统管理相关配置)
│  │  │  │     ├─ enums(系统管理相关枚举)
│  │  │  │     ├─ mapper(系统管理相关 Mapper)
│  │  │  │     ├─ model(系统管理相关模型)
│  │  │  │     │  ├─ entity(系统管理相关实体对象)
│  │  │  │     │  ├─ query(系统管理相关查询条件)
│  │  │  │     │  ├─ req(系统管理相关请求对象(Request))
│  │  │  │     │  └─ resp(系统管理相关响应对象(Response))
│  │  │  │     ├─ service(系统管理相关业务接口及实现类)
│  │  │  │     └─ util(系统管理相关工具类)
│  │  │  └─ resources
│  │  │     └─ mapper(系统管理相关 Mapper XML 文件目录)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml
├─ continew-plugin(插件模块,存放代码生成、任务调度等扩展模块,后续会进行插件化改造)
│  ├─ continew-plugin-schedule(任务调度插件模块)
│  │  ├─ src
│  │  │  ├─ main/java/top/continew/admin/schedule
│  │  │  │  ├─ api(任务调度中心相关 API)
│  │  │  │  ├─ config(任务调度相关配置)
│  │  │  │  ├─ constant(任务调度相关常量)
│  │  │  │  ├─ enums(任务调度相关枚举)
│  │  │  │  ├─ model(任务调度相关模型)
│  │  │  │  │  ├─ query(任务调度相关查询条件)
│  │  │  │  │  ├─ req(任务调度相关请求对象(Request))
│  │  │  │  │  └─ resp(任务调度相关响应对象(Response))
│  │  │  │  └─ service(代码生成器相关业务接口及实现类)
│  │  │  └─ test(测试相关代码目录)
│  │  └─ pom.xml
│  ├─ continew-plugin-open(能力开放插件模块)
│  │  ├─ src
│  │  │  ├─ main/java/top/continew/admin/open
│  │  │  │  ├─ mapper(代码生成器相关 Mapper)
│  │  │  │  ├─ model(能力开放相关模型)
│  │  │  │  │  ├─ entity(能力开放相关实体对象)
│  │  │  │  │  ├─ query(能力开放相关查询条件)
│  │  │  │  │  ├─ req(能力开放相关请求对象(Request))
│  │  │  │  │  └─ resp(能力开放相关响应对象(Response))
│  │  │  │  └─ service(能力开放相关业务接口及实现类)
│  │  │  └─ test(测试相关代码目录)
│  │  └─ pom.xml
│  ├─ continew-plugin-generator(代码生成器插件模块)
│  │  ├─ src
│  │  │  ├─ main
│  │  │  │  ├─ java/top/continew/admin/generator
│  │  │  │  │  ├─ config(代码生成器相关配置)
│  │  │  │  │  ├─ enums(代码生成器相关枚举)
│  │  │  │  │  ├─ mapper(代码生成器相关 Mapper)
│  │  │  │  │  ├─ model(代码生成器相关模型)
│  │  │  │  │  │  ├─ entity(代码生成器相关实体对象)
│  │  │  │  │  │  ├─ query(代码生成器相关查询条件)
│  │  │  │  │  │  ├─ req(代码生成器相关请求对象(Request))
│  │  │  │  │  │  └─ resp(代码生成器相关响应对象(Response))
│  │  │  │  │  └─ service(代码生成器相关业务接口及实现类)
│  │  │  │  └─ resources
│  │  │  │     ├─ templates/generator(代码生成相关模板目录)
│  │  │  │     ├─ application.yml(代码生成配置文件)
│  │  │  │     └─ generator.properties(代码生成类型映射配置文件)
│  │  │  └─ test(测试相关代码目录)
│  │  └─ pom.xml
│  └─ pom.xml
├─ continew-common(公共模块,存放公共工具类,公共配置等)
│  ├─ src
│  │  ├─ main/java/top/continew/admin/common
│  │  │  ├─ config(公共配置)
│  │  │  ├─ constant(公共常量)
│  │  │  ├─ enums(公共枚举)
│  │  │  ├─ model(公共模型)
│  │  │  │  ├─ dto(公共 DTO(Data Transfer Object))
│  │  │  │  ├─ req(公共请求对象(Request))
│  │  │  │  └─ resp(公共响应对象(Response))
│  │  │  └─ util(公共工具类)
│  │  └─ test(测试相关代码目录)
│  └─ pom.xml
├─ continew-extension(扩展模块)
│  ├─ continew-extension-schedule-server(任务调度服务端模块,实际开发时如果是公司统一提供环境,可直接删除本模块)
│  │  ├─ src
│  │  │  ├─ main
│  │  │  │  ├─ java/top/continew/admin/extension/schedule
│  │  │  │  │  └─ ScheduleServerApplication.java(任务调度服务端启动程序)
│  │  │  │  └─ resources
│  │  │  │     ├─ config(核心配置目录)
│  │  │  │     │  ├─ application-dev.yml(开发环境配置文件)
│  │  │  │     │  ├─ application-prod.yml(生产环境配置文件)
│  │  │  │     │  └─ application.yml(通用配置文件)
│  │  │  │     ├─ db/changelog(Liquibase 数据脚本配置目录)
│  │  │  │     │  ├─ mysql(MySQL 数据库初始 SQL 脚本目录)
│  │  │  │     │  ├─ postgresql(PostgreSQL 数据库初始 SQL 脚本目录)
│  │  │  │     │  └─ db.changelog-master.yaml(Liquibase 变更记录文件)
│  │  │  │     └─ logback-spring.xml(日志配置文件)
│  │  │  └─ test(测试相关代码目录)
│  │  └─ pom.xml
│  └─ pom.xml
├─ .github(GitHub 相关配置目录,实际开发时直接删除)
├─ .idea
│  └─ icon.png(IDEA 项目图标,实际开发时直接删除)
├─ .image(截图目录,实际开发时直接删除)
├─ .style(代码格式、License文件头相关配置目录,实际开发时根据需要取舍,删除时注意删除 spotless 插件配置)
├─ .gitignore(Git 忽略文件相关配置文件)
├─ docker(项目部署相关配置目录,实际开发时可备份后直接删除)
├─ LICENSE(开源协议文件)
├─ CHANGELOG.md(更新日志文件,实际开发时直接删除)
├─ README.md(项目 README 文件,实际开发时替换为真实内容)
├─ lombok.config(Lombok 全局配置文件)
└─ pom.xml(包含版本锁定及全局插件相关配置)