在 Java 后端开发中,Spring Boot 的出现极大地简化了项目的搭建和开发过程。它的自动化配置能够快速装配各种组件,包括持久化框架、缓存、消息队列和日志等。今天,我将向大家介绍一个集成了多种场景的 Spring Boot 项目,既可用于学习,也可直接用于实际开发,无需重复造轮子。
项目简介
spring-boot-demo 是一个专注于深度学习和实战 Spring Boot 的项目,目前包含 66 个集成示例,已完成 55 个。项目涵盖了众多功能:
目前已经集成功能:
actuator
:监控admin
:可视化监控logback
:日志aopLog
:通过AOP
记录Web
请求日志- 统一异常处理:
json
级别和页面级别 freemarker
:模板引擎thymeleaf
:模板引擎Beetl
:模板引擎Enjoy
:模板引擎JdbcTemplate
:通用JDBC
操作数据库JPA
:强大的ORM
框架Mybatis
:强大的ORM
框架- 通用
Mapper
:快速操作Mybatis
PageHelper
:通用的Mybatis
分页插件Mybatis-plus
:快速操作Mybatis
BeetlSQL
:强大的ORM
框架upload
:本地文件上传和七牛云文件上传Redis
:缓存ehcache
:缓存email
:发送各种类型邮件task
:基础定时任务quartz
:动态管理定时任务xxl-job
:分布式定时任务swagger
:API
接口管理测试security
:基于 RBAC` 的动态权限认证SpringSession
:Session
共享Zookeeper
:结合AOP
实现分布式锁RabbitMQ
:消息队列Kafka
:消息队列websocket
:服务端推送监控服务器运行信息socket.io
:聊天室ureport2
:中国式报表- 打包成
War
文件 - 集成
ElasticSearch
:基本操作和高级查询 - Async:异步任务
- 集成
Dubbo
:采用官方的starter
MongoDB
:文档数据库neo4j
:图数据库Docker
:容器化JPA
多数据源Mybatis
多数据源- 代码生成器
GrayLog
:日志收集JustAuth
:第三方登录LDAP
:增删改查- 动态添加/切换数据源
- 单机限流:
AOP
+Guava RateLimiter
- 分布式限流:
AOP
+Redis
+Lua
ElasticSearch 7.x
:使用官方Rest High Level Client
HTTPS
Flyway
:数据库初始化UReport2
:中国式复杂报表
运行使用
开发环境要求:
- JDK 1.8+
- Maven 3.5+
- IntelliJ IDEA ULTIMATE 2018.2+(必须使用 IDEA 开发,并安装 lombok 插件)
- Mysql 5.7+(尽量使用 5.7 版本以上)
代码导入:
- 使用 git 克隆代码:
git clone https://github.com/xkcoding/spring-boot-demo.git
- 使用 IDEA 打开 clone 下来的项目
- 找到各个 Module 的 Application 类就可以运行各个示例
注意:
- 每个示例均有详细的 README,运行之前请仔细阅读
- 一些示例需要先初始化数据库数据
模块代码介绍
最后
推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:great-open-source-project
或者访问网站,进行在线浏览:https://chencoding.top:8090/#/
© 版权声明
THE END
暂无评论内容