--- title: Java 优质开源实战项目 category: 开源项目 icon: project --- ## 快速开发脚手架 - [Snowy](https://gitee.com/xiaonuobase/snowy):国内首个国密前后端分离快速开发平台,定位不是深度封装的框架,也不是无代码平台,更不是某个领域的产品。详细介绍:[5.1k!这是我见过最强的前后端分离快速开发脚手架!!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247534316&idx=1&sn=69938397674fc33ecda43c8c9d0a4039&chksm=cea10927f9d68031bc862485c6be984ade5af233d4d871d498c38f22164a84314678c0c67cd7&token=1464380539&lang=zh_CN#rd)。 - [RuoYi](https://gitee.com/y_project/RuoYi):RuoYi 一款基于基于 SpringBoot 的权限管理系统 易读易懂、界面简洁美观,直接运行即可用 。 - [AgileBoot-Back-End](https://github.com/valarchie/AgileBoot-Back-End):基于 Ruoyi 做了大量重构优化的基础快速开发框架。 - [RuoYi-Vue-Pro](https://github.com/YunaiV/ruoyi-vue-pro):RuoYi-Vue 全新 Pro 版本,优化重构所有功能。 - [Guns](https://gitee.com/stylefeng/guns):现代化的 Java 应用开发基础框架。 - [JeecgBoot](https://github.com/zhangdaiscott/jeecg-boot):一款基于代码生成器的 J2EE 低代码快速开发平台,支持生成前后端分离架构的项目。 - [Erupt](https://gitee.com/erupt/erupt) : 低代码全栈类框架,它使用 Java 注解 动态生成页面以及增、删、改、查、权限控制等后台功能。 - [SmartAdmin](https://gitee.com/lab1024/smart-admin) : 一套简洁、易用的低代码中后台解决方案。 - [BallCat](https://github.com/ballcat-projects/ballcat):一个功能完善的快速开发脚手架!除了最基本的权限管理,定时任务功能之外,还额外支持 XSS 过滤,SQL 防注入、数据脱敏等多种功能 - [JHipster](https://github.com/jhipster/generator-jhipster) :开源应用程序平台,可在几秒钟内创建 Spring Boot + Angular / React 项目! 相关阅读: - [听说你要接私活?Guide 连夜整理了 5 个开源免费的 Java 项目快速开发脚手架。](https://sourl.cn/cFyLTR) - [解放双手,再来推荐 5 个 Java 项目开发快速开发脚手架!项目经验和私活都不愁了!](https://sourl.cn/StkiAv) ## 博客/论坛系统 下面这几个项目都是非常适合 Spring Boot 初学者学习的,下面的大部分项目的总体代码架构我都看过,个人觉得还算不错,不会误导没有实际做过项目的朋友。 - [forest](https://github.com/rymcu):下一代的知识社区系统,可以自定义专题和作品集。后端基于 SpringBoot + Shrio + MyBatis + JWT + Redis,前端基于 Vue + NuxtJS + Element-UI。 - [vhr](https://github.com/lenve/vhr "vhr"):微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。 - [favorites-web](https://github.com/cloudfavorites/favorites-web) :云收藏 Spring Boot 2.X 开源项目。云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。 - [community](https://github.com/codedrinker/community):开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新中…… 技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。 - [VBlog](https://github.com/lenve/VBlog):V 部落,Vue+SpringBoot 实现的多用户博客管理平台! - [My-Blog](https://github.com/ZHENFENG13/My-Blog):My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。 ## 考试/刷题系统 - [uexam](https://gitee.com/mindskip/uexam):一个非常不错的考试系统!考试系统应用场景还挺多的,不论是对于在校大学生还是已经工作的小伙伴,并且,类似的私活也有很多。相关阅读:[《好一个 Spring Boot 开源在线考试系统!解决了我的燃眉之急》](http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzg2OTA0Njk0OA%3D%3D%26mid%3D2247491585%26idx%3D1%26sn%3D8d3c6768c22e72d6bfcbeee9624886a7%26chksm%3Dcea1afcaf9d626dc918760289c37025ad526f6255786bc198d2402203df64c873ad7934f58df%26scene%3D178%26cur_album_id%3D1345382825083895808%23rd) 。 - [PassJava-Platform](https://github.com/Jackson0714/PassJava-Platform):一个基于微服务(SpringBoot、Spring Cloud)的面试刷题系统!相关阅读:[《一个基于 Spring Cloud 的面试刷题系统。面试、毕设、项目经验一网打尽》](http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s%3F__biz%3DMzg2OTA0Njk0OA%3D%3D%26mid%3D2247497045%26idx%3D1%26sn%3D577175bfd6c040a0df5a494fce6f9758%26chksm%3Dcea1ba9ef9d633883a2e213c0fb9a88bdc87051347d4b3fad2c2befb65d8b16e1ea81d8146dd%26scene%3D178%26cur_album_id%3D1345382825083895808%23rd)。 ## 商城系统 下面的商城系统大多比较复杂比如 mall ,如果没有 Java 基础和 Spring Boot 都还没有摸熟的话不推荐过度研究下面几个项目或者使用这些项目当作毕业设计。 - [mall](https://github.com/macrozheng/mall "mall"):mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。 - [mall-swarm](https://github.com/macrozheng/mall-swarm "mall-swarm") : mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。 - [onemall](https://github.com/YunaiV/onemall):mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。 - [litemall](https://github.com/linlinjava/litemall "litemall"):又一个小商城。litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 用户移动端。 - [xmall](https://github.com/Exrick/xmall) :基于 SOA 架构的分布式电商购物商城 前后端分离 前台商城:Vue 全家桶 后台管理系统:Spring/Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper 等 - [newbee-mall](https://github.com/newbee-ltd/newbee-mall) :newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 ## 权限管理系统 权限管理系统在企业级的项目中一般都是非常重要的,如果你需求去实际了解一个不错的权限系统是如何设计的话,推荐你可以参考下面这些开源项目。 - [Spring-Cloud-Admin](https://github.com/wxiaoqi/Spring-Cloud-Admin "Spring-Cloud-Admin"):Cloud-Admin 是国内首个基于 Spring Cloud 微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Spring Boot2 以及 Spring Cloud Gateway 相关核心组件,前端采用 vue-element-admin 组件。 - [pig](https://gitee.com/log4j/pig "pig"):(gitee)基于 Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的 RBAC 权限管理系统。 - [FEBS-Shiro](https://github.com/wuyouzhuguli/FEBS-Shiro "FEBS-Shiro"):Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。 - [eladmin](https://github.com/elunez/eladmin) : 项目基于 Spring Boot 2.1.0、 Jpa、 Spring Security、redis、Vue 的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。 - [SpringBoot-Shiro-Vue](https://github.com/Heeexy/SpringBoot-Shiro-Vue):提供一套基于 Spring Boot-Shiro-Vue 的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限。 ## 造轮子 - [guide-rpc-framework](https://github.com/Snailclimb/guide-rpc-framework):一款基于 Netty+Kyro+Zookeeper 实现的自定义 RPC 框架-附详细实现过程和相关教程。 - [mini-spring](https://github.com/DerekYRC/mini-spring):简化版的 Spring 框架,能帮助你快速熟悉 Spring 源码和掌握 Spring 的核心原理。代码极度简化,保留了 Spring 的核心功能,如 IoC 和 AOP、资源加载器等核心功能。 - [mini-spring-cloud](https://github.com/DerekYRC/mini-spring-cloud):一个手写的简化版的 Spring Cloud,旨在帮助你快速熟悉 Spring Cloud 源码及掌握其核心原理。相关阅读:[手写一个简化版的 Spring Cloud!](https://mp.weixin.qq.com/s/v3FUp-keswE2EhcTaLpSMQ) 。 - [itstack-demo-jvm](https://github.com/fuzhengwei/itstack-demo-jvm):通过 Java 代码来实现 JVM 的基础功能(搜索解析 class 文件、字节码命令、运行时数据区等。相关阅读:[《zachaxy 的手写 JVM 系列》](https://zachaxy.github.io/tags/JVM/)。 - [Freedom](https://github.com/alchemystar/Freedom):自己 DIY 一个具有 ACID 的数据库。相关项目:[MYDB](https://github.com/CN-GuoZiyang/MYDB)(一个简单的数据库实现)、[toyDB](https://github.com/erikgrinaker/toydb)(Rust 实现的分布式 SQL 数据库)。 - [lu-raft-kv](https://github.com/stateIs0/lu-raft-kv):一个 Java 版本的 Raft(CP) KV 分布式存储实现,非常适合想要深入学习 Raft 协议的小伙伴研究。lu-raft-kv 已经实现了 Raft 协议其中的两个核心功能:leader 选举和日志复制。如果你想要学习这个项目的话,建议你提前看一下作者写的项目介绍,比较详细,地址: