easy_spring_boot Java 后端开发框架

news2024/11/14 17:49:32

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.coloradmin.cn/o/2094374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+SpringBoot+Vue的学生评奖评优管理系统的设计与实现

基于JavaSpringBootVue的学生评奖评优管理系统的设计与实现 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 某信 gzh 搜索【智…

CGAL 2D Polygons

CGAL 2D Polygons 简单概述 CGAL 2D Polygons使用。 简述 2D Polygon多边形是由一条封闭的边链表组成。对于多边形的操作有若干种常见的算法,有些算法要求多边形是简单多边形。如果边不相交,则多边形为简单多边形,除非连续的边相交于它们的…

django外键表查询存储删除

查询 之前用get 现在用filter,get返回对象,filter返回列表django model的get和filter方法的区别_django模型objects.get-CSDN博客 存储 删除

[001-07-001].Redis中的BigKey使用分析

1、常见面试题: 1.阿里的广告平台,海量数据里面查询某一固定前缀的key2.小红书,如何在生产限制keys*/flushdb/flushall等危险命令以防止误删除误使用3.美团,MEMORU USAGE命令你使用过吗4.Bikey问题,多大算big&#xf…

Spring之配置类解析源码解析

解析配置类 解析配置类流程图:https://www.processon.com/view/link/5f9512d5e401fd06fda0b2dd 解析配置类思维脑图:https://www.processon.com/view/link/614c83cae0b34d7b342f6d14 在启动Spring时,需要传入一个AppConfig.class给Appli…

VMware安装Ubuntu Linux Server操作系统

本文主要描述在VMware虚拟机上安装Ubuntu Linux Server操作系统,本版本集成kubernetes云原生对应的microk8s组件。 如上所示,从Ubuntu官方网站上下载Ubuntu服务器版本的安装文件 如上所示,在VMware上新建虚拟机,指定已下载的Ubunt…

基于yolov5的明厨亮灶阳光厨房老鼠检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv5的明厨亮灶阳光厨房老鼠检测系统是一种高效、智能的食品安全监测解决方案。该系统利用YOLOv5网络模型,结合深度学习技术,实现对厨房环境的实时监控与智能分析。 YOLOv5以其高速和高精度的特性,在实时目标检测任务中…

chapter09-OOP高级部分——(内部类)——day13

413-四种内部类 414-局部内部类1 记住: (1)局部内部类定义在方法中/代码块(2)作用域在方法体或者代码块中(3)本质仍然是一个类 415-局部内部类2 416-匿名内部类本质 匿名内部类只能用一次,并实例化了一个tiger对象, tiger指向它的对象,tig…

18043 找出3个数中最大的数

### 思路 1. 从键盘输入三个整数&#xff0c;使用空格分隔。 2. 比较三个整数&#xff0c;找出其中最大的数。 3. 输出最大的数。 ### 伪代码 1. 读取输入的三个整数。 2. 比较三个整数&#xff0c;找出最大的数。 3. 输出最大的数。 ### C代码 #include <iostream>…

Python编码系列—Python调试秘籍:pdb调试工具的实战应用

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

《神话:悟空》的破晓之路:文化深度与技术巅峰的交响乐章

在八月的炽热中&#xff0c;《黑神话&#xff1a;悟空》如同一道璀璨的光芒&#xff0c;划破了国产游戏的寂静夜空&#xff0c;不仅以其惊人的销量速度震撼了业界&#xff0c;更以其深厚的文化底蕴与顶尖的游戏设计&#xff0c;在全球玩家心中留下了不可磨灭的印记。这款游戏的…

Masonry的入门学习

Masonry的学习 文章目录 Masonry的学习前言使用MasonryMasonry支持的属性修饰语基础APIAuto Boxing中心点设置边距优先级创建约束更新约束使用Masonry来布局UIScrollview 小结 前言 在日常的开发中&#xff0c;我们如果面对一些很复杂的UI布局&#xff0c;我们如果统一使用fram…

并发编程之AtomicUnsafe魔法类详解

并发编程之Atomic&Unsafe魔法类详解_并发魔法类-CSDN博客

京东2025校招/社招内推信息

社招链接&#xff1a;https://zhaopin.jd.com/web/job/job_info_list/3 社招内推码&#xff1a;JC8DI 校招链接&#xff1a;https://campus.jd.com/home#/ 校招内推码&#xff1a;C49D1 有需要的同学也可私信我姓名、电话、邮箱内推已经投递的同学可私信我获取最新进展哦

国内访问GitHub很卡,steam连接断开怎么办

目录 第一章、问题分析1.1&#xff09;问题1.2&#xff09;解决&#xff1a;下载个加速器就好了 友情提醒: 先看文章目录&#xff0c;大致了解文章知识点结构&#xff0c;点击文章目录可直接跳转到文章指定位置。 第一章、问题分析 1.1&#xff09;问题 国内访问GitHub很卡怎…

Docker容器技术详解

一、Docker简介及部署方法 1.1Docker简介 1.1.1什么是docker Docker是管理容器的引擎&#xff0c;为应用打包、部署平台&#xff0c;而非单纯的虚拟化技术 docker的重要特点和优势&#xff1a; 1. 轻量级虚拟化Docker 容器相较于传统的虚拟机更加轻量和高效&#xff0c;能够…

基于langchain的多轮对话RAG

目录 概述 整体架构 代码实现 输出展示 参考 概述 相比于单轮对话&#xff0c;多轮对话要考虑历史对话记录&#xff0c;大模型需要根据对话上下文去回答用户的问题。在RAG的场景中&#xff0c;通常需要通过问题去召回和问题相关的知识&#xff0c;再将知识和问题交给大模型…

江大白 | 大模型时代,CV目标检测任务,会走向何方?

本文来源公众号“江大白”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;大模型时代&#xff0c;CV目标检测任务&#xff0c;会走向何方&#xff1f; 以下文章来源于知乎&#xff1a;深度眸 作者&#xff1a;深度眸 编辑&#…

华为手机永久关闭自动亮度 | 使用智慧场景

问题 使用华为手机时&#xff0c;无法在设置中永久性关闭自动亮度&#xff0c;因为每次手机重启后都会自动打开自动亮度。此问题目前无法通过设置去解决&#xff0c;但可以通过华为的智慧场景解决&#xff0c;下文介绍解决方案。 解决方案 智慧场景 打开智慧生活APP&#xf…

JavaScript 作用链

JavaScript 作用链是指在 JavaScript 中查找变量时所遵循的规则和路径。它描述了当前执行上下文及其父级上下文之间的关系。作用链用于解析变量&#xff0c;当在一个作用域中查找变量时&#xff0c;如果当前作用域中没有找到&#xff0c;则会沿着作用链向上查找&#xff0c;直到…