写在前面
大家都知道 Github 是一个程序员福地,这里有各种厉害的开源框架、软件或者教程。这些东西对于我们学习和进步有着莫大的进步,所以我有了这个将 Github 上非常棒的 Java 开源项目整理下来的想法。觉得不错的话,欢迎小伙伴们去star一波。
很多小伙伴都不知道学习什么开源项目,这篇文章定能为你解决疑惑。
不论你想要看 Java 教程方向的开源项目、Java实战项目、SpringBoot教程还是说想要看微服务、分布式相关的开源项目,你都可以在上面找到需要的资源!
项目的整个目录如下,可以说非常详细完善了!
由于内容过多的原因,这里只简单介绍一部分内容。
教程部分内容介绍
Java 共15个教程(这里只介绍前5个)(PDF里可直接点击跳转到Github)
- 1. JavaGuide: [Java 学习+面试指南]一份 涵盖大部分Java程序员所需要掌握的核心知识。
- 2. advanced-java :互联网Java工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识。
- 3.miaosha:秒杀系统设计与实现互联网工程师进阶与分析。
- 4. architect-awesome :后端架构师技术图谱。
- 5. toBeTopJavaer : Java 工程师成神之路
数据结构/算法 共4个教程 (PDF里可直接点击跳转到Github)
- 1. LeetCodeAnimation :Demonstrate all the questions on LeetCode in theform of animation. (用动画的形式呈现解LeetCode题目的思路)。
- 2. TheAlgorithms -Java :All Algorithms implemented in Java。
- 3. leetcode :多种编程语言实现LeetCode、《剑指 Offer (第2版)》、《程序员面试金典(第6版)》题解。
- 4. LeetCode二Solution-in-Good-Style :这个项目是作者在学习《算法与数据结构》的时候,在LeetCode (力扣).上做的练习, 刷题以Java语言为主。作者在刷题的时候,非常考虑代码质量,他的很多问题的回答都被Leetcode官方精选,值得推荐!
计算机基础 共2个教程 (PDF里可直接点击跳转到Github)
- 1. CS-Notes :技术面试必备基础知识、Leetcode 题解、后端面试、Java 面试、春招、秋招、操作系统、计算机网络、系统设计。
- 2. Waking-Up:计算机基础(计算机网络/操作系统/数据库/Git..)面试问题全面总结,包含详细的follow-up question以及答案;全部采用[问题+追问+答案]的形式,即拿即用,直击互联网大厂面试%;可用于模拟面试、面试前复习短期内快速备战面试...
SpringBoot 共5个教程 (PDF里可直接点击跳转到Github)
- 1. springboot- guide : SpringBoot 核心知识点总结。基于Spring Boot 2.19+.
- 2. SpringAll :循序渐进,学习Spring Boot、Spring Boot & Shiro、SpringCloud、Spring Security & Spring Security 0Auth2,博客Spring系列源码。
- 3. springboot- learning- example : Spring Boot实践学习案例,是Spring Boot初学者及核心技术巩固的最佳实践。
- 4. spring-boot- demo : spring boot demo是一个个 用来深度学习并实战springboot的项目,目前总共包含63个集成demo,已经完成52个。
- 5. SpringBoot Labs : Spring Boot系列教程。
SpringCloud 共5个教程 (PDF里可直接点击跳转到Github)
- 1. SpringCloudLearning :方志朋的《史.上最简单的Spring Cloud教程源码》。
- 2. SpringCloud-Learning : Spring Cloud基础教程,持续连载更新中。
- 3. spring- cloud:《Spring Cloud微服务-全栈技术与案例解析》和《SpringCloud微服务入门实战与进阶》配套源码。
- 4. spring- cloud -examples : Spring Cloud学习案例,服务发现、服务治理、链路追踪、服务监控等(基本没更新了 ,Spring Cloud比较老了)。
- 5. Spring Cloud :基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、 feign、 sentinel、 springcloud- gateway等。服务治理方面引入elasticsearch、skywalking、 springboot- admin、zipkin等, 让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。
大数据 共2个教程 (PDF里可直接点击跳转到Github)
- 1. BigData-Notes :大数据入门指南。
- 2. flink-learning:含Flink入门、概念、原理、实战、性能调优、源码解析等内容。
实战项目部分内容介绍
下面这些推蒂的项目几乎都和Spring Boot有关,毕竟这年头没有理由再搞SSM/SSH这些东西了。
商城系统 共6个实战项目 (PDF里可直接点击跳转到Github)
下面的商城系统大多比较复杂比如mall ,如果没有Java基础和SpringBoot都还没有摸熟的话不推荐过度研究下面几个项目。
- 1. mall : mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot + MyBatis实现。
- 2. mall- swarm : mall-swarm是一套微服务商城系统,采用了Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、 Elasticsearch 等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统。
- 3. onemall : mall 商城,基于微服务的思想,构建在B2C电商场景下的项目实战。核心技术栈,是Spring Boot + Dubbo。未来,会重构成Spring Cloud Alibaba。
- 4. litemall:又一个小商城。litemall = Spring Boot后端+ Vue管理员前端+微信小程序用户前端+ Vue用户移动端。
- 5.xmall:基于SOA架构的分布式电商购物商城前后端分离前台商城:Vue全家桶后台管理系统:Spring/Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等。
- 6.newbee -mall :newbee-mall项目(新蜂商城)是-套电商系统,包括newbee-mall商城系统及newbee -mall-admin商城后台管理系统,基于Spring Boot2.X及相关技术栈开发。
博客/论坛/其他 共5个实战项目 (PDF里可直接点击跳转到Github)
下面这几个项目都是非常适合Spring Boot初学者学习的,下面的大部分项目的总体代码架构我都看过,个人觉得还算不错,不会误导没有实际做过项目的老哥,特别是前两个项目vhr和favorites-web。
- 1. vhr:微人事是一个前后端分离的人力资源管理系统,项目采用SpringBoot+Vue开发。
- 2. favorites -web :云收藏Spring Boot 2.X开源项目。云收藏是一个使用SpringBoot构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
- 3. community :开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。功能持续更新......技术栈Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap。
- 4. VBlog : V部落,Vue +SpringBoot实现的多用户博客管理平台!
- 5. My-Blog : My Blog是由SpringBoot + Mybatis + Thymeleaf等技术实现的Java博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
权限管理系统 共4个实战项目 (PDF里可直接点击跳转到Github)
权限管理系统在企业级的项目中一般都是非常重要的,如果你需要去实际了解一个不错的权限系统是如何设计的话,推荐你可以参考下面这些开源项目。
- 1. Spring-Cloud-Admin : Cloud - Admin是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Spring Boot2以及Spring Cloud Gateway相关核心组件,前端采用vue-element- admin组件。
- 2. pig: (gitee) 基于Spring Boot 2.2、Spring Cloud Hoxton & Alibaba、0Auth2的RBAC权限管理系统。
- 3. FEBS- Shiro : Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4权限管理系统。
- 4. eladmin :项目基于Spring Boot 2.1.0、Jpa、Spring Security、redis、 Vue的前后端分离的后台管理系统,项目采用分模块开发方式,权限控制采用RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由。
快速开发脚手架 共5个实战项目 (PDF里可直接点击跳转到Github)
- 1. RuoYi: RuoYi 一款基于基于SpringBoot的权限管理系统易读易懂、界面简洁美观,直接运行即可用。
- 2. Guns:我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring入门不太久的小菜鸟。一晃,不经意间已经过去快3年了。Guns功能齐全,采用主流框架Spring Boot2.0+开发,并且支持Spring Cloud Alibaba微服务)。适合企业后台管理网站的快速开发场景,不论是对于单体和微服务都有支持。
- 3. SpringBlade : SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot 单体式微服务架构并存的综合型项目,采用Java8API重构了业务代码,完全遵循阿里巴巴编码规范。采用Spring Boot2、Spring架用于快速搭建企业级的SaaS多租户微服务平台。
- 4. renren : renren 下面一共开源了两个Java项目开发脚手架:①renren-security :采用Spring、MyBatis、 Shiro 框架,开发的一套轻量级权限系统, 极低门槛,拿来即用。②renren-fast: -一个轻量级的Java快速开发平台,能快速开发项目并交付[接私活利器]
- 5. COLA:根据我的了解来看,很多公司的项目都是基于COLA进行开发的,相比于其他快速开发脚手架,COLA 并不提供什么已经开发好的功能,它提供的主要是一个干净的架构,然后你可以在此基础上进行开发。通过一-行命令就生成好的web后端项目骨架。
好了,这里就只介绍教程和实战项目部分的内容吧,其他的开源项目再介绍就会导致文章太长啦。