- 对于改善 YTUOJ 架构的一种尝试,基于Spring Boot + Docker,将系统分成核心业务模块、判题模块、代码沙箱模块。根据业务流程设计用户表、题目表、提交表。结合 Java Runtime对象实现原生 Java 代码沙箱。通过Docker Java 库,测试了更安全的 Docker 代码沙箱
Find a file
2024-03-15 22:15:23 +08:00
.mvn/wrapper 已完成,远程托管 2024-03-15 22:15:23 +08:00
doc 已完成,远程托管 2024-03-15 22:15:23 +08:00
sql 已完成,远程托管 2024-03-15 22:15:23 +08:00
src 已完成,远程托管 2024-03-15 22:15:23 +08:00
.DS_Store 已完成,远程托管 2024-03-15 22:15:23 +08:00
.gitignore 已完成,远程托管 2024-03-15 22:15:23 +08:00
Dockerfile 已完成,远程托管 2024-03-15 22:15:23 +08:00
mvnw 已完成,远程托管 2024-03-15 22:15:23 +08:00
mvnw.cmd 已完成,远程托管 2024-03-15 22:15:23 +08:00
pom.xml 已完成,远程托管 2024-03-15 22:15:23 +08:00
README.md 已完成,远程托管 2024-03-15 22:15:23 +08:00

SpringBoot 项目初始模板

基于 Java SpringBoot 的项目初始模板,整合了常用框架和主流业务的示例代码。

只需 1 分钟即可完成内容网站的后端!!!大家还可以在此基础上快速开发自己的项目。

[toc]

模板特点

主流框架 & 特性

  • Spring Boot 2.7.x
  • Spring MVC
  • MyBatis + MyBatis Plus 数据访问(开启分页)
  • Spring Boot 调试工具和项目处理器
  • Spring AOP 切面编程
  • Spring Scheduler 定时任务
  • Spring 事务注解

数据存储

  • MySQL 数据库

工具类

  • Easy Excel 表格处理
  • Hutool 工具库
  • Gson 解析库
  • Apache Commons Lang3 工具类
  • Lombok 注解

业务特性

  • Spring Session Redis 分布式登录
  • 全局请求响应拦截器(记录日志)
  • 全局异常处理器
  • 自定义错误码
  • 封装通用响应类
  • Swagger + Knife4j 接口文档
  • 自定义权限注解 + 全局校验
  • 全局跨域处理
  • 长整数丢失精度解决
  • 多环境配置

业务功能

  • 提供示例 SQL用户、帖子、帖子点赞、帖子收藏表
  • 用户登录、注册、注销、更新、检索、权限管理
  • 帖子创建、删除、编辑、更新、数据库检索、ES 灵活检索
  • 帖子点赞、取消点赞
  • 帖子收藏、取消收藏、检索已收藏帖子
  • 帖子全量同步 ES、增量同步 ES 定时任务
  • 支持微信开放平台登录
  • 支持微信公众号订阅、收发消息、设置菜单
  • 支持分业务的文件上传

单元测试

  • JUnit5 单元测试
  • 示例单元测试类

架构设计

  • 合理分层

快速上手

所有需要修改的地方都标记了 todo

MySQL 数据库

1修改 application.yml 的数据库配置为你自己的:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/my_db
    username: root
    password: 123456

2执行 sql/create_table.sql 中的数据库语句,自动创建库表

3启动项目访问 http://localhost:8101/api/doc.html 即可打开接口文档,不需要写前端就能在线调试接口了~