easy_spring_boot Java 后端开发框架

ops/2024/12/22 21:34:49/

Easy SpringBoot

基于 Java 17、SpringBoot 3.3.2 开发的后端框架,集成 MyBits-Plus、SpringDoc、SpringSecurity 等插件,旨在提供一个高效、易用的后端开发环境。该框架通过清晰的目录结构和模块化设计,帮助开发者快速构建和部署后端服务。

在这里插入图片描述

一、目录结构说明

project-root/
│
├─ backend/  # 后端项目目录(java 17、SpringBoot 3.3.2)
│   ├─ src/
│   |   ├─ main/
│   |   |   ├─ java/com/one_ccs/easy_spring_boot/
|   |   |   |   ├─ common/      # 公共模块
|   |   |   |   |   └─ GlobalVariable.java        # 全局变量类
|   |   |   |   |
|   |   |   |   ├─ config/      # 配置模块
|   |   |   |   |   ├─ MybatisPlusConfig.java     # MybatisPlus 配置类
|   |   |   |   |   ├─ SpringDocConfig.java       # SpringDoc 配置类
|   |   |   |   |   ├─ SpringSecurityConfig.java  # SpringSecurity 配置类
|   |   |   |   |   └─ WebConfig.java             # Web 配置类
|   |   |   |   |
|   |   |   |   ├─ controller/  # 控制器模块
|   |   |   |   |   ├─ exception/    # 异常处理模块
|   |   |   |   |   |   ├─ ErrorPageController.java   # 错误页面控制器
|   |   |   |   |   |   └─ ValidationController.java  # 参数校验控制器
|   |   |   |   |   |
|   |   |   |   |   ├─ FileController.java        # 文件上传控制器
|   |   |   |   |   ├─ *Controller.java           # 其他控制器
|   |   |   |   |   └─ ...
|   |   |   |   |
|   |   |   |   ├─ entity/      # 实体模块
|   |   |   |   |   ├─ bo/           # 业务对象
|   |   |   |   |   |   └─ MyUserBO.java          # 包含角色列表的用户类
|   |   |   |   |   |
|   |   |   |   |   ├─ dto/          # 数据传输对象
|   |   |   |   |   |   └─ MyUserDetail.java      # 用户详情类(存储当前会话用户信息,通过 JWT 解析)
|   |   |   |   |   |
|   |   |   |   |   ├─ po/           # 持久化对象
|   |   |   |   |   |   ├─ *.java                 # 实体类
|   |   |   |   |   |   └─ ...
|   |   |   |   |   |
|   |   |   |   |   ├─ vo/           # 请求/响应对象
|   |   |   |   |   |   ├─ request/               # 请求对象
|   |   |   |   |   |   |   ├─ DeleteVO.java         # 删除请求类
|   |   |   |   |   |   |   ├─ QueryUserVO.java      # 查询用户请求类
|   |   |   |   |   |   |   └─ UserVO.java           # 用户请求类
|   |   |   |   |   |   |
|   |   |   |   |   |   ├─ response/              # 响应对象
|   |   |   |   |   |   |   └─ AuthorizeVO.java      # 登录验证成功的用户信息
|   |   |   |   |   |   |
|   |   |   |   |   |   ├─ BaseData.java          # 基础数据类(用于 DTO 快速转换 VO)
|   |   |   |   |   |   ├─ BasePageQuery.java     # 基础分页查询类
|   |   |   |   |   |   ├─ BaseQuery.java         # 基础查询类
|   |   |   |   |   |   └─ Result.java            # 结果类
|   |   |   |   |   |
|   |   |   |   |
|   |   |   |   ├─ filter/      # 过滤器模块
|   |   |   |   |   ├─ CorsFilter.java            # 跨域过滤器
|   |   |   |   |   └─ JwtAuthorizeFilter.java    # JWT 授权过滤器
|   |   |   |   |
|   |   |   |   ├─ mapper/      # 映射器模块
|   |   |   |   |   └─ *Mapper.java                # 映射器接口(对应实体类)
|   |   |   |   |
|   |   |   |   ├─ service/     # 业务模块
|   |   |   |   |   ├─ impl/                     # 业务实现类
|   |   |   |   |   |   ├─ *ServiceImpl.java         # 业务实现类
|   |   |   |   |   |   └─ ...
|   |   |   |   |   |
|   |   |   |   |   └─ I*Service.java             # 业务接口类
|   |   |   |   |
|   |   |   |   ├─ util/        # 工具模块
|   |   |   |   |   ├─ annotation/                # 注解模块
|   |   |   |   |   |   └─ AnonymousAuth.java         # 匿名访问注解(用于不需要登录的接口)
|   |   |   |   |   |
|   |   |   |   |   ├─ FileUtil.java              # 文件工具类
|   |   |   |   |   ├─ JwtUtil.java               # JWT 工具类
|   |   |   |   |   └─ MyBatisPlusGenerator.java  # MybatisPlus 代码生成器
|   |   |   |   |
|   |   |   |   └─ EasySpringBootApplication.java  # 启动类
|   |   |   |
|   |   |   ├─ resources/  # 资源文件目录
|   |   |   |   ├─ mapper/      # 映射器配置文件目录
|   |   |   |   |   └─ *Mapper.xml                # 映射器配置文件
|   |   |   |   |
|   |   |   |   └─ application.yml  # SpringBoot 配置文件
|   |   |   |
|   |   |
|   |
│   └─ ...
│
├─ frontend/ # 前端项目目录
│   ├─ ...
│
├─ license   # MIT 开源协议
├─ readme.md # 工程自述
└─ ...

二、部署

  1. 安装依赖
  2. (可选)修改 MyBatisPlusGenerator.java 配置并运行,生成实体相关代码替换项目中的对应文件
  3. 修改 application.yaml 配置文件,配置数据库连接信息
  4. 启动项目

http://www.ppmy.cn/ops/106780.html

相关文章

大数据系列之:查看Centos服务器用户可以创建的最大线程数、查看系统内核支持的最大线程数、查看系统支持的最大进程数、设置最大线程数限制、查看进程使用的线程数

大数据系列之:查看Centos服务器用户可以创建的最大线程数、查看系统内核支持的最大线程数、查看系统支持的最大进程数、设置最大线程数限制、查看进程使用的线程数 显示当前用户的资源限制查看用户可以创建的最大线程指定进程的资源限制查看系统内核支持的最大线程数查看系统支…

探秘DevSecOps黄金管道,安全与效率的完美融合

软件应用的安全性已成为企业和用户关注的焦点,DevSecOps作为一种将安全融入开发和运维全过程的理念和实践,旨在消除传统开发模式中安全被后置处理的弊端。DevSecOps黄金管道(Golden Pipeline)是实现这一理念的核心框架&#xff0c…

算法训练营|图论第11天 Floyd算法 A*算法

题目&#xff1a;Floyd算法 题目链接&#xff1a; 97. 小明逛公园 (kamacoder.com) 代码&#xff1a; #include<bits/stdc.h> using namespace std; struct Edge {int to;int val;Edge(int t, int w) :to(t), val(w) {} }; int main() {int n, m;cin >> n >…

ubuntu 安装 jdk

1.安装java开发环境包jdk sudo apt update sudo apt install openjdk-8-jdk 2.配置环境变量 步骤二:配置环境变量 安装完JDK后&#xff0c;我们需要配置环境变量&#xff0c;以便系统能够正确地找到Java相关的可执行文件。打开终端并执行以下命 sudo nano /etc/environment 这…

OpenGL/GLUT实践:实现反弹运动的三角形动画与键盘控制(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub&#xff1a;A-UESTCer-s-Code 文章目录 1 运行效果2 实验过程2.1 环境配置2.2 绘制三角形2.2.1 渲染函数2.2.2 主函数2.2.3 运行结果 2.3 调整窗口大小2.4 简单动画与按键控制2.4.1 简单旋转2.4.2 键盘控制 2.5 窗口反弹动画2.5.1 处理窗口大小变化2.5.2 渲染函数…

时间序列的解密者:循环神经网络在时间序列分析中的应用

时间序列的解密者&#xff1a;循环神经网络在时间序列分析中的应用 时间序列分析是数据科学中的一个重要领域&#xff0c;它涉及对按时间顺序排列的数据点进行分析&#xff0c;以识别趋势、周期性和异常。循环神经网络&#xff08;RNN&#xff09;是一种特别适合处理序列数据的…

session机制

场景&#xff1a;当众多用户访问网站&#xff0c;发出HTTP请求&#xff0c;那么网站是如何判断哪个HTTP请求对应的是哪个用户 &#xff1f; 作用&#xff1a;用于服务端区分用户。 当用户使用客户端登录时&#xff0c;服务端会进行验证&#xff0c;验证通过后会为这次登录创建…

音视频入门基础:WAV专题(8)——FFmpeg源码中计算WAV音频文件AVStream的time_base的实现

一、引言 本文讲解FFmpeg源码对WAV音频文件进行解复用&#xff08;解封装&#xff09;时&#xff0c;其AVStream的time_base是怎样被计算出来的。 二、FFmpeg源码中计算WAV音频文件AVStream的time_base的实现 从《音视频入门基础&#xff1a;WAV专题&#xff08;5&#xff09…