当前位置: 首页 > news >正文

SpringBoot3后端项目介绍:mybig-event

mybig-event

项目简介

mybig-event 是一个基于 Spring Boot 的事件管理系统,提供用户管理、文章发布、分类管理、文件上传等功能,采用现代化的 Java 技术栈构建,支持高效开发和部署。在这里插入图片描述
仓库链接:https://github.com/foorgange/mybig-event/tree/master

技术栈

  • 核心框架:Spring Boot 3.1.3
  • 数据访问:MyBatis 3.0.0、PageHelper 1.4.7
  • 数据库:MySQL 8.0.33
  • 缓存:Redis
  • 认证授权:JWT (java-jwt 4.4.0)
  • 文件存储:阿里云 OSS (aliyun-sdk-oss 3.15.1)
  • 数据校验:Spring Boot Starter Validation
  • 工具类:Lombok、MD5 加密
  • 构建工具:Maven
  • 开发工具:IntelliJ IDEA
  • CI/CD:GitHub Actions

功能模块

1. 用户管理模块

  • 用户注册与登录(支持 JWT 认证)
  • 个人信息查询与修改
  • 头像上传(对接阿里云 OSS)
  • 密码修改与安全验证

2. 文章管理模块

  • 文章发布与编辑
  • 文章分类与状态管理(已发布 / 草稿)
  • 文章列表分页查询
  • 支持按分类和状态筛选

3. 分类管理模块

  • 分类的增删改查
  • 分类数据校验

4. 文件上传模块

  • 基于阿里云 OSS 的文件存储
  • 支持图片上传并返回访问 URL

项目结构

plaintext

mybig-event/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── itheima/
│   │   │       ├── controller/      # 控制器层
│   │   │       ├── service/         # 服务层
│   │   │       ├── mapper/          # 数据访问层
│   │   │       ├── pojo/            # 实体类
│   │   │       └── utils/           # 工具类
│   │   └── resources/
│   │       ├── application.yml      # 全局配置
│   │       └── com/itheima/mapper/  # MyBatis 映射文件
│   └── test/                        # 测试代码
├── .github/workflows/               # GitHub Actions 配置
├── .idea/                           # IDEA 项目配置
├── pom.xml                          # Maven 依赖配置
└── .gitignore                       # Git 忽略文件配置

快速开始

环境要求

  • JDK 17+
  • MySQL 8.0+
  • Redis 5.0+
  • Maven 3.6+

配置步骤

  1. 克隆仓库
    bash

    git clone https://github.com/yourusername/mybig-event.git
    cd mybig-event
    
  2. 修改配置文件
    编辑 src/main/resources/application.yml​,配置数据库和 Redis 连接:
    yaml

    spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/big_eventusername: 你的数据库用户名password: 你的数据库密码data:redis:host: localhostport: 6379password: 你的Redis密码(如无则留空)
    
  3. 配置阿里云 OSS
    编辑 src/main/java/itheima/utils/AliOssUtil.java​,修改 OSS 配置:
    java

    运行

    private static final String ENDPOINT = "你的OSS地域节点";
    private static final String ACCESS_KEY_ID = "你的ACCESS_KEY_ID";
    private static final String ACCESS_KEY_SECRET = "你的ACCESS_KEY_SECRET";
    private static final String BUCKET_NAME = "你的Bucket名称";
    

    建议生产环境通过环境变量注入密钥,避免硬编码

  4. 创建数据库
    在 MySQL 中创建数据库 big_event​,并根据实体类创建对应表结构(可通过 MyBatis 逆向工程生成)。

  5. 构建与运行
    bash

    mvn clean package
    java -jar target/mybig-event-1.0-SNAPSHOT.jar
    

    服务将在 http://localhost:9090​ 启动

API 示例

用户注册

bash

POST /user/register
Content-Type: application/json{"username": "testuser","password": "testpass123"
}

文章发布

bash

POST /article
Content-Type: application/json
Authorization: Bearer {your-jwt-token}{"title": "测试文章","content": "这是一篇测试文章","coverImg": "https://example.com/img.jpg","state": "已发布","categoryId": 1
}

开发指南

  1. 代码规范:遵循阿里巴巴 Java 开发手册
  2. 提交规范:使用语义化提交信息(如 feat: 新增文章查询接口​)
  3. 测试要求:核心功能需编写单元测试
  4. 分支管理:使用 master​ 作为主分支,功能开发使用 feature 分支

自动化构建

项目配置了 GitHub Actions 自动化构建流程,当代码推送到 master​ 分支或创建 Pull Request 时,将自动执行以下操作:

  1. 检查代码
  2. 构建项目
  3. 运行测试
  4. 生成依赖报告

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件(如未提供则默认保留所有权利)

http://www.dtcms.com/a/341724.html

相关文章:

  • 【MySQL的卸载】
  • 5.k8s控制器-Replicaset-Deployment、pod 反亲和性
  • VLN领域的“ImageNet”打造之路:从MP3D数据集、MP3D仿真器到Room-to-Room(R2R)、RxR、VLN-CE
  • Adobe Acrobat 表单创建与设置
  • 8.20 打卡 DAY 47 注意力热图可视化
  • 不会写 SQL 也能出报表?积木报表 + AI 30 秒自动生成报表和图表
  • JVM讲解
  • leetcode7二分查找_69 and 34
  • Linux正则表达式
  • 2D水平目标检测数据增强——旋转任意指定角度
  • RK3568 Linux驱动学习——设备树下 LED 驱动
  • Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到
  • PowerShell脚本检查业务健康状态
  • 解决Docker 无法连接到官方镜像仓库
  • Lecture 6 Kernels, Triton 课程笔记
  • JVM基础知识总结
  • Docker 核心技术:Linux Cgroups
  • GDB 的多线程调试
  • 针对具有下垂控制光伏逆变器的主动配电网络的多目标分层协调电压/无功控制方法的复现
  • 音频读写速度优化 音频格式
  • Transformer内容详解(通透版)
  • pip install -e中e 参数解释
  • 八辊矫平机·第三篇
  • 卸载win10/win11系统里导致磁盘故障的补丁
  • 广东省省考备考(第八十二天8.20)——资料分析、数量、言语(强化训练)
  • 【蒸蒸日上】军八武将篇——标1
  • 8 webUI中-Controlnet(控制与约束)的应用分类与使用方法
  • 【语法】markdown非常用场景
  • Netty HashedWheelTimer设计原理:从时间轮算法到源码实现
  • 跨平台 RTSP/RTMP 播放器工程化实践:低延迟与高稳定性的挑战与突破