大家好,我是 Java陈序员。我们都知道,作为 Java 后端开发肯定绕不开 Spring,而 SpringBoot 的横空出世更是帮助我们开发者可以快速迭代一个项目!
SpringBoot 之所以强大,是因为支持自动化配置,可以快速装配组件,如持久化框架缓存消息队列日志等等。
今天给大家介绍一个 SpringBoot 集成各种场景的项目,可以用来学习,也可以开箱即用 ,无需重复造轮子!
项目简介
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成 demo,已经完成 55 个。
目前已经集成功能:
actuator:监控admin:可视化监控logback:日志aopLog:通过AOP记录Web请求日志- 统一异常处理:
json级别和页面级别 freemarker:模板引擎thymeleaf:模板引擎Beetl:模板引擎Enjoy:模板引擎JdbcTemplate:通用JDBC操作数据库JPA:强大的ORM框架Mybatis:强大的ORM框架- 通用
Mapper:快速操作Mybatis PageHelper:通用的Mybatis分页插件Mybatis-plus:快速操作MybatisBeetlSQL:强大的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 ClientHTTPSFlyway:数据库初始化UReport2:中国式复杂报表
项目地址:
arduino
https://github.com/xkcoding/spring-boot-demo
运行使用
开发环境
- JDK 1.8 +
- Maven 3.5 +
- IntelliJ IDEA ULTIMATE 2018.2 + (注意:务必使用 IDEA 开发,同时保证安装 lombok 插件)
- Mysql 5.7 + (尽量保证使用 5.7 版本以上,因为 5.7 版本加了一些新特性,同时不向下兼容。项目会尽量避免这种不兼容的地方,但还是建议尽量保证 5.7 版本以上)
代码导入
- 使用
git克隆代码:
bash
git clone https://github.com/xkcoding/spring-boot-demo.git
-
使用
IDEA打开clone下来的项目 -
找到各个
Module的Application类就可以运行各个demo
注意:
- 每个
demo均有详细的README,运行demo之前记得先看看- 有些
demo需要事先初始化数据库数据的
模块代码介绍





最后
推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:
bash
https://github.com/chenyl8848/great-open-source-project
或者访问网站,进行在线浏览:
bash
https://chencoding.top:8090/#/
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!