# 基于Java SpringBoot的快速开发后端模板
## 项目概述
该项目是一个基于Java SpringBoot的后端开发模板,旨在整合常用框架和主流业务的示例代码,帮助开发者快速搭建内容网站的后端。通过该模板,开发者可以在一分钟内完成内容网站的后端开发,并在此基础上快速开发自己的项目。
## 模板特点
### 主流框架 & 特性
- **Spring Boot 2.7.x**:最新版本,提供强大的自动配置功能。
- **Spring MVC**:经典的MVC框架,用于构建Web应用。
- **MyBatis + MyBatis Plus**:数据访问框架,支持分页查询。
- **Spring Boot 调试工具和项目处理器**:简化开发和调试过程。
- **Spring AOP**:面向切面编程,提供横切关注点的模块化。
- **Spring Scheduler**:定时任务支持,方便定时执行任务。
- **Spring 事务注解**:简化事务管理。
### 数据存储
- **MySQL 数据库**:关系型数据库,用于存储结构化数据。
- **Redis 内存数据库**:高性能的键值存储,用于缓存和会话管理。
- **Elasticsearch 搜索引擎**:分布式搜索和分析引擎,用于全文搜索和数据分析。
- **腾讯云 COS 对象存储**:提供可靠的云存储服务。
### 工具类
- **Easy Excel**:用于Excel文件的读写。
- **Hutool 工具库**:提供丰富的工具方法,简化Java开发。
- **Apache Commons Lang3 工具类**:提供常用的工具方法。
- **Lombok 注解**:简化Java代码,自动生成常用方法。
### 业务特性
- **Spring Session Redis 分布式登录**:支持分布式环境下的会话管理。
- **全局请求响应拦截器**:记录日志,监控请求和响应。
- **全局异常处理器**:统一处理异常,提升系统稳定性。
- **自定义错误码**:规范错误处理,便于调试和维护。
- **封装通用响应类**:统一API响应格式。
- **Swagger + Knife4j 接口文档**:自动生成API文档,便于前后端对接。
- **自定义权限注解 + 全局校验**:增强系统安全性。
- **全局跨域处理**:支持跨域请求,便于前后端分离开发。
- **长整数丢失精度解决**:避免JSON转换中的精度问题。
- **多环境配置**:支持开发、测试、生产等多环境配置。
## 业务功能
- **提供示例SQL**:包含用户、帖子、帖子点赞、帖子收藏表的示例SQL。
- **用户管理**:支持用户登录、注册、注销、更新、检索、权限管理。
- **帖子管理**:支持帖子创建、删除、编辑、更新、数据库检索、ES灵活检索。
- **帖子互动**:支持帖子点赞、取消点赞、收藏、取消收藏、检索已收藏帖子。
- **定时任务**:支持帖子全量同步ES、增量同步ES定时任务。
- **第三方登录**:支持微信开放平台登录。
- **微信公众号功能**:支持微信公众号订阅、收发消息、设置菜单。
- **文件上传**:支持分业务的文件上传。
### 单元测试
- **JUnit5 单元测试**:提供单元测试支持。
- **示例单元测试类**:提供示例单元测试代码。
### 架构设计
- **合理分层**:按照MVC架构分层,便于维护和扩展。
## 快速上手
### MySQL 数据库
1. 修改 `application.yml` 的数据库配置为你自己的配置:
```yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/loj
username: root
password: 123456
```
2. 执行 `sql/create_table.sql` 中的数据库语句,自动创建库表。
3. 启动项目,访问 `http://localhost:8101/api/doc.html` 即可打开接口文档,在线调试接口。
### Redis 分布式登录
1. 修改 `application.yml` 的 Redis 配置为你自己的配置:
```yml
spring:
redis:
database: 1
host: localhost
port: 6379
timeout: 5000
password: 123456
```
2. 修改 `application.yml` 中的 session 存储方式:
```yml
spring:
session:
store-type: redis
```
3. 移除 `MainApplication` 类开头 `@SpringBootApplication` 注解内的 exclude 参数:
```java
@SpringBootApplication
```
### Elasticsearch 搜索引擎
1. 修改 `application.yml` 的 Elasticsearch 配置为你自己的配置:
```yml
spring:
elasticsearch:
uris: http://localhost:9200
username: root
password: 123456
```
2. 复制 `sql/post_es_mapping.json` 文件中的内容,通过调用 Elasticsearch 的接口或者 Kibana Dev Tools 来创建索引:
```
PUT post_v1
{
参数见 sql/post_es_mapping.json 文件
}
```
3. 开启同步任务,将数据库的帖子同步到 Elasticsearch。
## 总结
该模板提供了一个完整的后端开发框架,整合了主流的技术栈和业务功能,帮助开发者快速搭建和开发内容网站的后端。通过详细的配置和示例代码,开发者可以轻松上手,快速实现业务需求。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Java SpringBoot的快速开发后端模板 项目概述 该项目是一个基于Java SpringBoot的后端开发模板,旨在整合常用框架和主流业务的示例代码,帮助开发者快速搭建内容网站的后端。通过该模板,开发者可以在一分钟内完成内容网站的后端开发,并在此基础上快速开发自己的项目。 模板特点 主流框架 特性 Spring Boot 2.7.x最新版本,提供强大的自动配置功能。 Spring MVC经典的MVC框架,用于构建Web应用。 MyBatis MyBatis Plus数据访问框架,支持分页查询。 Spring Boot 调试工具和项目处理器简化开发和调试过程。 Spring AOP面向切面编程,提供横切关注点的模块化。 Spring Scheduler定时任务支持,方便定时执行任务。 Spring 事务注解简化事务管理。 数据存储 MySQL 数据库关系型数据库,用于存储结构化数据。 Redis 内存数据库高性能的键值存储,用于缓存和会话管理。 Elasticsearch 搜索引擎分布式搜索和分析引擎,用于全文搜索和数据分析。
资源推荐
资源详情
资源评论
收起资源包目录
基于Java SpringBoot的快速开发后端模板.zip (145个子文件)
mvnw.cmd 7KB
Dockerfile 377B
loj-backend.iml 25KB
PostServiceImpl.java 27KB
QuestionController.java 16KB
UserController.java 15KB
QuestionServiceImpl.java 14KB
PostController.java 13KB
UserServiceImpl.java 13KB
WxMpController.java 11KB
QuestionSubmitServiceImpl.java 9KB
CodeSandboxTest.java 9KB
PostFavourController.java 8KB
JudgeServiceImpl.java 7KB
PostThumbServiceImpl.java 7KB
UserService.java 7KB
QuestionSubmitController.java 7KB
PostEsDTO.java 6KB
AuthInterceptor.java 6KB
FileController.java 6KB
PostFavourServiceImpl.java 6KB
JavaLanguageJudgeStrategy.java 5KB
QuestionSubmitVO.java 5KB
LogInterceptor.java 5KB
DefaultJudgeStrategy.java 5KB
QuestionVO.java 5KB
PostVO.java 5KB
JudgeInfoMessageEnum.java 5KB
QuestionSubmitService.java 4KB
NetUtils.java 4KB
FullSyncPostToEs.java 4KB
QuestionSubmit.java 4KB
PostEsDaoTest.java 4KB
CosManager.java 4KB
RemoteCodeSandbox.java 4KB
ExampleCodeSandbox.java 4KB
SpringContextUtils.java 4KB
QuestionSubmitStatusEnum.java 4KB
QuestionService.java 4KB
Question.java 4KB
PostFavourServiceTest.java 3KB
QuestionSubmitLanguageEnum.java 3KB
PostService.java 3KB
CosClientConfig.java 3KB
SubscribeHandler.java 3KB
WxMpMsgRouter.java 3KB
CodeSandboxProxy.java 3KB
EasyExcelTest.java 3KB
User.java 3KB
UserServiceTest.java 3KB
PostThumbController.java 3KB
PostFavourMapperTest.java 3KB
FileUploadBizEnum.java 3KB
JsonConfig.java 3KB
ThrowUtils.java 3KB
EventHandler.java 3KB
UserRoleEnum.java 3KB
ErrorCode.java 3KB
Post.java 3KB
IncSyncPostToEs.java 3KB
GlobalExceptionHandler.java 3KB
WxOpenConfig.java 3KB
JudgeManager.java 3KB
ResultUtils.java 3KB
PostFavourMapper.java 3KB
PostQueryRequest.java 3KB
CorsConfig.java 3KB
PostFavourService.java 3KB
UserQueryRequest.java 3KB
MainApplication.java 3KB
PostServiceTest.java 3KB
QuestionQueryRequest.java 3KB
PostThumbServiceTest.java 3KB
BusinessException.java 3KB
CodeSandboxFactory.java 3KB
MyBatisPlusConfig.java 2KB
QuestionAddRequest.java 2KB
MessageHandler.java 2KB
ExecuteCodeResponse.java 2KB
QuestionEditRequest.java 2KB
BaseResponse.java 2KB
PostFavour.java 2KB
PostMapperTest.java 2KB
PostMapper.java 2KB
UserAddRequest.java 2KB
UserRegisterRequest.java 2KB
PostThumb.java 2KB
QuestionSubmitMapper.java 2KB
QuestionSubmitQueryRequest.java 2KB
ExecuteCodeRequest.java 2KB
AuthCheck.java 2KB
SqlUtils.java 2KB
UserLoginRequest.java 2KB
UserUpdateRequest.java 2KB
LoginUserVO.java 2KB
PostAddRequest.java 2KB
PostThumbService.java 2KB
PostEditRequest.java 2KB
PostFavourQueryRequest.java 2KB
PostEsDao.java 2KB
共 145 条
- 1
- 2
资源评论
t0_54coder
- 粉丝: 2560
- 资源: 5610
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功