系统通用项目结构图
本文最后更新于13 天前,其中的信息可能已经过时,如有错误请发送邮件到1225615596@qq.com

Spring Boot 通用项目结构图

project-root
├── .gitignore                 # Git 忽略文件配置
├── pom.xml / build.gradle     # Maven 或 Gradle 构建文件
├── README.md                  # 项目说明文档
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── company
│   │   │           └── projectname  # 根包名
│   │   │               ├── ProjectNameApplication.java # 启动类
│   │   │               │
│   │   │               ├── common           # 【通用模块】:存放全局共用的类
│   │   │               │   ├── api          # 通用 API 响应结构 (Result, ResultCode)
│   │   │               │   ├── constant     # 全局常量
│   │   │               │   ├── exception    # 自定义异常类
│   │   │               │   └── util         # 通用工具类 (DateUtil, StringUtil)
│   │   │               │
│   │   │               ├── config           # 【配置模块】:存放 @Configuration 类
│   │   │               │   ├── SwaggerConfig.java   # 接口文档配置
│   │   │               │   ├── WebMvcConfig.java    # 跨域、拦截器配置
│   │   │               │   ├── MyBatisPlusConfig.java
│   │   │               │   └── RedisConfig.java
│   │   │               │
│   │   │               ├── controller       # 【控制层】:处理 HTTP 请求
│   │   │               │   └── UserController.java
│   │   │               │
│   │   │               ├── service          # 【业务逻辑层】
│   │   │               │   ├── UserService.java        # Service 接口
│   │   │               │   └── impl                    # Service 实现
│   │   │               │       └── UserServiceImpl.java
│   │   │               │
│   │   │               ├── mapper / repository # 【数据访问层】:MyBatis Mapper 或 JPA Repository
│   │   │               │   └── UserMapper.java
│   │   │               │
│   │   │               ├── model            # 【数据模型层】
│   │   │               │   ├── entity       # 数据库实体 (对应数据库表)
│   │   │               │   │   └── User.java
│   │   │               │   ├── dto          # Data Transfer Object (前端 -> 后端传输对象)
│   │   │               │   │   └── UserLoginDTO.java
│   │   │               │   ├── vo           # View Object (后端 -> 前端展示对象)
│   │   │               │   │   └── UserProfileVO.java
│   │   │               │   └── query        # 查询参数对象 (用于复杂搜索)
│   │   │               │       └── UserSearchQuery.java
│   │   │               │
│   │   │               ├── handler          # 【全局处理器】
│   │   │               │   └── GlobalExceptionHandler.java # 全局异常拦截
│   │   │               │
│   │   │               ├── aspect           # 【切面模块】:AOP 相关 (日志、权限)
│   │   │               │   └── LogAspect.java
│   │   │               │
│   │   │               ├── component        # 【组件模块】:非业务逻辑的独立功能组件
│   │   │               │   └── FileUploader.java
│   │   │               │
│   │   │               └── job              # 【定时任务】:存放 @Scheduled 任务
│   │   │
│   │   └── resources
│   │       ├── application.yml      # 主配置文件
│   │       ├── application-dev.yml  # 开发环境配置
│   │       ├── application-prod.yml # 生产环境配置
│   │       ├── logback-spring.xml   # 日志配置
│   │       ├── mapper               # MyBatis XML 文件 (如果是 MyBatis)
│   │       │   └── UserMapper.xml
│   │       ├── static               # 静态资源 (css, js, images - 前后端分离通常不需要)
│   │       └── templates            # 模板文件 (Thymeleaf 等 - 前后端分离通常不需要)
│   │
│   └── test                         # 测试代码
│       └── java
│           └── com...
└── target / build                   # 编译输出目录

前端通用项目结构图 (Vue 3 / React)

project-frontend
├── .env.development          # 开发环境配置 (API地址等)
├── .env.production           # 生产环境配置
├── package.json              # 依赖管理
├── vite.config.ts (or js)    # 构建工具配置 (代理跨域、打包配置)
├── index.html                # 入口 HTML
├── public                    # 纯静态资源 (不经过打包处理,如 favicon)
│
├── src
│   ├── main.ts (or index.tsx) # 【入口文件】:挂载 Vue/React 实例
│   ├── App.vue (or App.tsx)   # 根组件
│   │
│   ├── api                    # 【接口层】:统一管理与后端的 HTTP 请求
│   │   ├── user.ts            # 对应后端的 UserController
│   │   └── order.ts           # 对应后端的 OrderController
│   │
│   ├── assets                 # 【静态资源】:图片、字体、全局样式
│   │   ├── images
│   │   ├── icons              # svg 图标
│   │   └── styles             # 全局 css/scss 变量
│   │
│   ├── components             # 【公共组件】:非业务相关的通用 UI 组件
│   │   ├── SvgIcon            # 图标组件
│   │   └── CommonTable        # 二次封装的通用表格
│   │
│   ├── hooks (or composables) # 【逻辑复用】:提取通用的业务逻辑 (React Hooks / Vue Composables)
│   │   ├── useTheme.ts        # 主题切换逻辑
│   │   └── useTable.ts        # 表格的分页、搜索逻辑
│   │
│   ├── layout                 # 【布局组件】:页面的骨架 (侧边栏、头部、面包屑)
│   │   ├── index.vue          # 布局入口
│   │   ├── components
│   │   │   ├── Sidebar
│   │   │   ├── Navbar
│   │   │   └── AppMain
│   │   └── router-view        # 页面渲染区域
│   │
│   ├── router                 # 【路由管理】:页面路径配置
│   │   ├── index.ts           # 路由初始化
│   │   └── routes.ts          # 具体的路由列表
│   │
│   ├── store                  # 【状态管理】:Pinia (Vue) 或 Redux/Zustand (React)
│   │   ├── modules
│   │   │   ├── user.ts        # 存储用户信息、Token
│   │   │   └── permission.ts  # 存储菜单权限数据
│   │   └── index.ts
│   │
│   ├── types                  # 【TypeScript 类型定义】:对应后端的 DTO/VO
│   │   ├── api.d.ts           # 通用响应结构 (code, msg, data)
│   │   └── user.d.ts          # 用户实体接口定义
│   │
│   ├── utils                  # 【工具类】:核心基础设施
│   │   ├── request.ts         # ★ Axios 二次封装 (拦截器、Token注入)
│   │   ├── auth.ts            # Token 的存取 (Cookie/LocalStorage)
│   │   └── validate.ts        # 表单验证规则
│   │
│   ├── views (or pages)       # 【页面层】:具体的业务页面
│   │   ├── login              # 登录页
│   │   │   └── index.vue
│   │   ├── dashboard          # 首页/仪表盘
│   │   ├── system             # 系统管理模块
│   │   │   ├── user           # 用户管理页面
│   │   │   │   ├── index.vue  # 列表页
│   │   │   │   └── components # 该页面专用的弹窗或组件
│   │   │   │       └── UserDialog.vue
│   │   │   └── role           # 角色管理
│   │   └── error              # 404, 403 页面
│   │
│   └── directives             # 【自定义指令】:(Vue特有) 如 v-permission 按钮权限控制
│
└── dist                       # 打包后的输出目录 (部署到 Nginx)

微信小程序Uni-app 目录结构

project-uniapp
├── pages.json             # 相当于 app.json (路由、TabBar、样式)
├── manifest.json          # App/小程序 打包配置
├── main.js                # Vue 入口
├── App.vue                # 根组件 (生命周期)
├── pages                  # 页面
│   └── index
│       └── index.vue      # .vue 文件!开发体验同 Web
├── api                    # 同 Web
├── components             # 同 Web (easycom 自动引入)
├── static                 # 静态资源 (相当于 assets)
└── utils                  # 工具类

微信小程序目录结构 (原生/TypeScript)

project-miniprogram
├── project.config.json        # 项目配置文件 (appid, 编译配置)
├── sitemap.json               # 索引配置
├── .gitignore                 # Git 忽略配置
├── package.json               # NPM 依赖 (如 vant-weapp, dayjs)
│
├── api                        # 【接口层】:对应后端的 Controller
│   ├── user.js                # 用户相关接口
│   └── order.js               # 订单相关接口
│
├── assets                     # 【静态资源】
│   ├── images                 # 图片 (建议大图走 CDN,此处放 icon)
│   └── styles                 # 全局样式变量
│       ├── common.wxss        # 通用样式类
│       └── variables.wxss     # CSS 变量 (颜色、字号)
│
├── components                 # 【全局公共组件】:跨页面复用的 UI
│   ├── custom-navbar          # 自定义头部导航
│   └── empty-state            # 空状态组件
│
├── behaviors                  # 【逻辑复用】:类似 Vue 的 Mixins
│   └── pagination.js          # 通用的分页逻辑
│
├── utils                      # 【工具类】
│   ├── request.js             # ★ wx.request 二次封装 (Token, 拦截器)
│   ├── util.js                # 基础工具 (日期格式化)
│   └── auth.js                # 登录/Token 存储逻辑
│
├── store (可选)               # 【状态管理】:如果使用了 MobX 或简单全局 Store
│   └── userStore.js
│
├── pages                      # 【主包页面】:TabBar 页面和核心高频页面
│   ├── index                  # 首页
│   │   ├── index.js
│   │   ├── index.json
│   │   ├── index.wxml
│   │   └── index.wxss
│   └── mine                   # 个人中心
│
├── subpackages                # 【分包目录】:非核心业务,解决 2MB 限制
│   ├── admin                  # 管理端分包 (假设这是个 B 端系统)
│   │   └── pages
│   │       └── audit-list     # 审核列表
│   └── marketing              # 营销活动分包
│       └── pages
│           └── coupon         # 优惠券
│
├── app.js                     # 【入口逻辑】:生命周期、全局数据
├── app.json                   # 【全局配置】:路由、分包、TabBar 配置
└── app.wxss                   # 【全局样式】

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇