强无敌!一个项目涵盖SpringBoot集成各种场景

大家好,我是 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:快速操作 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:中国式复杂报表

项目地址:

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 版本以上)

代码导入

  1. 使用 git 克隆代码:
bash 复制代码
git clone https://github.com/xkcoding/spring-boot-demo.git
  1. 使用 IDEA 打开 clone 下来的项目

  2. 找到各个 Module 的 Application 类就可以运行各个 demo

注意:

  1. 每个 demo 均有详细的 README,运行 demo 之前记得先看看
  2. 有些 demo 需要事先初始化数据库数据的

模块代码介绍

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:

bash 复制代码
https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

bash 复制代码
https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

相关推荐
小小安于乱2 分钟前
linux中java的springboot程序获取IP地址间歇性10秒卡顿问题
java·开发语言
云絮.26 分钟前
mybatis(二)
java·数据库·mybatis
西凉的悲伤27 分钟前
Guava-Retrying 重试框架详解
java·guava·重试框架·guava-retrying
WL学习笔记29 分钟前
模板初阶(C++)
开发语言·c++·后端·模板初阶
九零HTTP30 分钟前
aiohttp 连接池:那个 limit 参数到底在限什么
后端
SunnyDays101131 分钟前
使用 Java 高效管理 Excel 批注:添加、读取、修改和删除
java·开发语言·excel
花间相见31 分钟前
【计算基础|MySQL06】MySQL 架构与一条 SQL 的旅程
数据库·后端
Thneonl44 分钟前
Spark 比 MR 快在哪?管住最贵的 shuffle
后端·架构
const_qiu1 小时前
第 2.5 章 2.5.8:质量关 —— 安全审查、UI/UX 审查与踩坑复盘
java·人工智能·安全·ui·ux
申君健24864182772021 小时前
AI SDK 概念全景总结(v7) 二
后端