按步骤把脚手架搭建到现在,现在已经完成的项目内的所有的目录,包括package结构,也包括package里边的文件名称都已树形展示一下,并配上相关的注释。先列出整体父项目的整体结构及文件目录,再按子项目的整体结构及文件目录依次做了下介绍。方便大家更直观的搭建项目,也方便直接复制粘贴。
scaffold-parent
scaffold-parent/
├── pom.xml # 父工程POM文件(管理所有子模块依赖)
├── scaffold-common/ # 通用工具模块
├── scaffold-gateway/ # 网关模块
├── scaffold-auth/ # 认证中心模块
├── scaffold-user/ # 用户服务模块
├── scaffold-admin-ui/ # 后台管理前端模块(可选)
├── docker-compose.yml # Docker一键部署配置
└── prometheus.yml # Prometheus监控配置
scaffold-common
scaffold-common/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/example/scaffold/common/
│ │ ├── aop/
│ │ │ └── LogAspect.java # 日志切面(记录请求日志)
│ │ ├── config/
│ │ │ ├── RedisConfig.java # RedisTemplate配置
│ │ │ ├── SwaggerConfig.java # Swagger API文档配置
│ │ │ └── WebMvcConfig.java # 全局Web配置(如跨域)
│ │ ├── constant/
│ │ │ ├── ErrorCode.java # 全局错误码枚举
│ │ │ └── AuthConstant.java # 鉴权相关常量(如JWT密钥)
│ │ ├── exception/
│ │ │ └── GlobalExceptionHandler.java # 全局异常处理器
│ │ ├── response/
│ │ │ └── Response.java # 统一响应封装类
│ │ └── util/
│ │ ├── JwtUtils.java # JWT工具类(生成/解析Token)
│ │ └── RedisCache.java # Redis缓存工具类
│ └── resources/
│ └── META-INF/ # SPI扩展文件(可选)
├── pom.xml # 模块POM文件(依赖common工具包)
└── Dockerfile # Docker构建文件(可选)
scaffold-gateway
scaffold-gateway/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/example/scaffold/gateway/
│ │ ├── config/
│ │ │ └── GatewayRouteConfig.java # 动态路由配置(从Nacos加载)
│ │ ├── filter/
│ │ │ ├── JwtAuthFilter.java # JWT全局鉴权过滤器
│ │ │ └── RateLimitFilter.java # 限流过滤器(Sentinel集成)
│ │ └── exception/
│ │ └── SentinelBlockHandler.java # 自定义限流异常响应
│ └── resources/
│ ├── application.yml # 网关配置文件(路由规则)
│ └── bootstrap.yml # Nacos配置(若使用配置中心)
├── pom.xml # 模块POM文件(依赖Spring Cloud Gateway)
└── Dockerfile # Docker构建文件
scaffold-auth
scaffold-auth/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/example/scaffold/auth/
│ │ ├── config/
│ │ │ └── SecurityConfig.java # Spring Security核心配置
│ │ ├── controller/
│ │ │ └── AuthController.java # 登录/登出接口
│ │ ├── entity/ # 数据库实体类
│ │ │ ├── SysUser.java # 用户表实体
│ │ │ ├── SysRole.java # 角色表实体
│ │ │ └── SysPermission.java # 权限表实体
│ │ ├── mapper/ # MyBatis-Plus Mapper接口
│ │ ├── service/
│ │ │ ├── UserService.java # 用户服务接口
│ │ │ └── impl/
│ │ │ └── UserServiceImpl.java # 用户服务实现(RBAC逻辑)
│ │ └── security/
│ │ ├── JwtAuthenticationFilter.java # JWT认证过滤器
│ │ └── UserDetailsServiceImpl.java # 自定义用户详情服务
│ └── resources/
│ ├── application.yml # 认证中心配置文件
│ └── sql/
│ └── schema.sql # 数据库初始化脚本
├── pom.xml # 模块POM文件(依赖Spring Security)
└── Dockerfile # Docker构建文件
scaffold-user
scaffold-user/
├── src/
│ └── main/
│ ├── java/
│ │ └── com/example/scaffold/user/
│ │ ├── config/
│ │ │ └── MybatisPlusConfig.java # MyBatis-Plus分页插件配置
│ │ ├── controller/
│ │ │ └── UserController.java # 用户管理接口(增删改查)
│ │ ├── entity/
│ │ │ └── User.java # 用户表实体(业务扩展字段)
│ │ ├── mapper/
│ │ │ └── UserMapper.java # MyBatis-Plus Mapper接口
│ │ ├── service/
│ │ │ ├── UserService.java # 用户服务接口
│ │ │ └── impl/
│ │ │ └── UserServiceImpl.java # 用户服务实现(缓存逻辑)
│ │ └── dto/
│ │ ├── UserDTO.java # 用户数据传输对象
│ │ └── UserQuery.java # 用户查询参数封装
│ └── resources/
│ ├── application.yml # 用户服务配置文件
│ └── mapper/
│ └── UserMapper.xml # 自定义SQL映射文件(可选)
├── pom.xml # 模块POM文件(依赖MyBatis-Plus)
└── Dockerfile # Docker构建文件
scaffold-admin-ui
(Vue3示例)scaffold-admin-ui/
├── public/ # 静态资源
│ └── index.html # 入口HTML文件
├── src/
│ ├── api/ # 接口定义
│ │ └── user.js # 用户管理接口
│ ├── assets/ # 静态资源(图片/样式)
│ ├── components/ # 公共组件
│ │ └── PageHeader.vue # 页面头部组件
│ ├── layouts/ # 布局组件
│ │ └── BasicLayout.vue # 基础布局(包含菜单)
│ ├── router/ # 路由配置
│ │ └── index.js # 路由定义
│ ├── store/ # Vuex状态管理
│ │ └── user.js # 用户状态管理
│ ├── utils/ # 工具类
│ │ └── request.js # Axios请求封装(携带Token)
│ ├── views/ # 页面视图
│ │ └── UserManage.vue # 用户管理页面
│ ├── App.vue # 根组件
│ └── main.js # 入口JS文件
├── package.json # 前端依赖管理
├── vue.config.js # Vue CLI配置
└── Dockerfile # 前端镜像构建文件
scaffold-parent/
├── docker-compose.yml # 定义所有服务的Docker容器配置
├── prometheus.yml # Prometheus监控目标配置
└── grafana-dashboards/ # Grafana仪表盘配置文件(JSON格式)
└── spring-boot-dashboard.json
scaffold-parent
:
pom.xml
的 <modules>
定义子模块列表。
scaffold-common
:
scaffold-gateway
:
JwtAuthFilter
实现无状态认证。
scaffold-auth
:
scaffold-user
:
scaffold-admin-ui
:
通过此结构,开发人员可以快速定位代码位置:
scaffold-user
并修改包名。
scaffold-common
中的工具类。
scaffold-gateway/filter
中添加新过滤器。
本篇的分享就到这里了,感谢观看,如果对你有帮助,别忘了点赞+收藏+关注。