当前位置: 首页 > 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.lryc.cn/news/626881.html

相关文章:

  • 华为云之基于鲲鹏弹性云服务器部署openGauss数据库【玩转华为云】
  • 网页作品惊艳亮相!这个浪浪山小妖怪网站太治愈了!
  • AutoGLM2.0背后的云手机和虚拟机分析(非使用案例)
  • 百度地图 添加热区(Hotspot)
  • Ubuntu_22.04安装文档
  • 应用在运行时,向用户索取(相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求--教你如何解决华为市场上架难题
  • 【数据库】Oracle学习笔记整理之六:ORACLE体系结构 - 重做日志文件与归档日志文件(Redo Log Files Archive Logs)
  • Ubuntu 虚拟显示器自动控制服务设置(有无显示器的切换)
  • 机器学习数据预处理总结(复习:Pandas, 学习:preprocessing)
  • iOS 应用迭代与上架节奏管理 从测试包到正式发布的全流程实践
  • 数据预处理:机器学习中的关键步骤
  • 【iOS】NSRunLoop
  • 25_基于深度学习的行人检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 解决程序无响应自动重启
  • 织梦素材站网站源码 资源付费下载交易平台源码
  • DeepSeek V3.1 完整评测分析:2025年AI编程新标杆
  • 【数据结构】快速排序算法精髓解析
  • 牛津大学xDeepMind 自然语言处理(4)
  • 【Linux仓库】进程等待【进程·捌】
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • SQL详细语法教程(七)核心优化
  • 【C语言16天强化训练】从基础入门到进阶:Day 4
  • Android 资源替换:静态替换 vs 动态替换
  • 猫头虎开源AI分享|基于大模型和RAG的一款智能text2sql问答系统:SQLBot(SQL-RAG-QABot),可以帮你用自然语言查询数据库
  • Https之(二)TLS的DH密钥协商算法
  • FFmpeg的基本概述(二)
  • 基于 Java 和 MySQL 的精品课程网站
  • 零知开源——基于STM32F103RBT6与ADXL362三轴加速度计的体感迷宫游戏设计与实现
  • AV1视频编码器2024-2025技术进展与行业应用分析
  • 全球首款 8K 全景无人机影翎 A1 发布解读:航拍进入“先飞行后取景”时代