侧边栏壁纸
博主头像
疯狂IT人博主等级

疯狂编程博客,分享IT编程的技术博客,用程序员视角总结分享IT编程和互联网知识的那些事儿。

  • 累计撰写 175 篇文章
  • 累计创建 16 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Java学习重点项目推荐,吃透这15个开源项目中的其中五个,offer拿到手软

疯狂IT人
2022-11-09 / 0 评论 / 0 点赞 / 220 阅读 / 2,807 字 / 正在检测是否收录...

Java学习重点项目推荐,吃透这15个开源项目中的其中五个,offer拿到手软

项目名称:XMall商城

项目所用技术栈:SSM、Elasticsearch、Redis、MySQL、ActiveMQ、Shiro、Dubbo、Zookeeper、Vue.js 等

项目简介:XMall是一个基于SOA架构的分布式电商购物商城,并且前后端分离。包括如下几大模块:

后台管理系统:管理商品、订单、类目、商品规格属性、用户、权限、系统统计、系统日志以及前台内容等功能
前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作
会员系统:用户可以在该系统中查询已下的订单、管理订单、我的优惠券等信息
订单系统:提供下单、查询订单、修改订单状态、定时处理订单
搜索系统:提供商品的搜索功能
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息
是初学者练手的不错的项目。

项目名称:Cloud-Platform

项目所用技术栈:Spring Boot、Spring Cloud全家桶、Vue.js等

项目简介:Cloud-Platform是国内首个基于Spring Cloud的微服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。

项目名称:Piggy Metrics

项目所用技术栈:Spring Boot、Spring Cloud、Docker等

项目简介:Piggy Metrics是一个基于Spring Boot, Spring Cloud和Docker等技术实现的微服务脚手架,项目包含了:API网关、服务发现、负载均衡、熔断机制、配置中心、监控服务、认证服务等几大微服务项目基本模块,对学习和练手微服务项目是不错的选择。

项目名称:mall

项目所用技术栈:Spring Boot、Spring Security、MyBatis、Elasticsearch、RabbitMq、Redis、MongoDb、Docker 、Vue.js等

项目简介:mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

项目名称: JeeSite

项目介绍:

这是个典型的SSM后台管理项目(不是有很多小伙伴让推荐SSM项目练手嘛),基于经典技术组合(Spring MVC、Shiro、MyBatis、Bootstrap UI等)开发,适合学习练手。

而且它作为一个典型的后台管理系统,要素基本都有,包括:组织机构、角色用户、权限授权、数据权限、内容管理、工作流等。

尤其要提的就是最后的工作流模块,它可以实现提工单、审核/审批等流程,这个在后台管理类项目里是必备的模块。

项目名称:platform-wechat-mall

项目介绍:

该项目是一个开源的微信小程序商城,虽说其项目技术栈不算特别新,后端用的也是SSM框架,但是它作为一个商城项目,要素模块基本都包含了,比如:系统后台管理、商品后台管理、移动端商城的API接口、手机移动端商城、微信小程序商城等等。

而且主要功能也非常丰富,包括:会员管理、商城配置、商品管理、推广管理、订单和系统管理等等。

秒杀类项目

项目名称:spring-boot-seckill

项目介绍:

秒杀类开源项目其实很难得,毕竟涉及高并发的一些问题嘛,这些在面试时都是能让面试官眼前一亮的东西。

这个项目与其说是一个开源项目,倒不如说是一些具体秒杀问题里面的案例集合。

秒杀系统基本设计思想无非也就是:限流、缓存、异步、分摊、主备,其实某一程度上来说就是开源+节流的思想。

所以通过它应该能学到一些比CRUD高级一些的技术,诸如:线程池、锁、分布式锁、消息队列(kafka)、缓存(redis) 等等。

支付类项目

项目名称:roncoo-pay

项目介绍:

支付系统嘛,集成了主流支付方式、支付平台等,除此之外它还有些额外的管理功能,比如对账、结算、交易订单的管理等等,所以也有后台管理的。

该项目的技术栈也是后端的主流技术,包括:Spring Boot、Shiro、MyBatis、Redis等。

开源的支付类项目平时见得可能也不多,它也是一个偏业务类型的开源项目。毕竟开源项目很少有业务强相关的,开源出来的东西,业务一般都剥离出去了。该项目涉及了一些和支付相关的业务流程,包括:支付流程、对账流程、结算流程等等。

项目名:Cloud-Platform

项目介绍:

Cloud-Platform是一个基于Spring Cloud技术栈实现的微服务化开发平台,包含了微服务架构的常见组件,比如:服务注册和发现、网关、服务调用、熔断/降级机制、认证/鉴权、监控中心等等。

项目名:open-capacity-platform

项目介绍:

同样和上面项目一样,open-capacity-platform也是一个学习Spring Cloud微服务技术栈的不错范例,其同样也包含了微服务架构里面的各种应用组件。

项目名称: Java

项目简介: 这是一个基于Java的数据结构与算法的实现项目。里面包含了几乎常用所有数据结构的实现,以及诸多算法题和LeetCode习题的Java实现。主要包括:

加解密算法
进制转换
各种数据结构
分治
动态规划
数学类问题
搜索问题
排序问题
LeetCode习题
其他杂项算法题等

对于我们的作用: 基于Java语言的数据结构和算法题练手必备!

项目名称: eladmin

项目简介: eladmin是一个基于 Spring Boot + Vue的前后端分离的后台管理系统,项目采用分模块开发方式, 权限控制采用 RBAC,支持数据字典与数据权限管理,支持一键生成前后端代码,支持动态路由,对于初学者还是比较友好的。

主要技术点或特性:

Spring Boot 2.x
JPA
Spring Security
Redis
Vue
对于我们的作用: 一套典型的后台管理系统,用的也是一套比较典型的Java后端开发技术,可以帮我们串联起很多后端开发的知识。

项目名称: jodd

项目简介:

Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb

没错,Jodd是一个非常易用和好上手的开源Java微框架,里面包含了一系列平时经常会用到的一些核心程序库、工具类/方法、实用程序/框架等等。有了它,开发人员做起事来会变得非常简易和优雅,引入jodd就能帮我们快速实现某些功能。点赞!

主要技术点或特性:

jodd主要包含:

Jodd Libraries(程序库):Json、Email、HTTP、Jerry …
Micro-frameworks(微框架):Madvoc、Petite、Proxetta、DbOom …
Jodd Utilities(实用工具):BeanUtil、Props、Decora、Cli、Ref …
对于我们的作用: 一方面当我们想要用Java快速实现一些功能需求的时候,引入jodd就可以帮我们完成很多事情,很多工具和代码都开箱即用,简便高效;另外一方面研究其源码可以帮助我们打开技术视野。

项目名称: SnowJena

项目简介:

SnowJena是一个基于令牌桶算法实现的分布式无锁限流框架,支持熔断降级,支持动态配置规则,支持可视化监控,开箱即用。可用于Java后端项目常见的本地限流和分布式限流的场景。

主要技术点或特性:

支持本地限流
支持分布式限流
支持黑白名单
支持可视化监控等。
另外项目用到了大量设计模式思想,包括单例模式、观察者模式、工厂模式、建造者模式等等。

对于我们的作用: 一是帮助我们学习和实践限流这一常见的技术方案和实现原理,二是帮助我们学习和理解常见的设计模式。

项目名称: seata

项目简介: Seata 是一款阿里巴巴开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。

在 Seata 开源之前,Seata 对应的内部版本在阿里内部一直扮演着分布式一致性中间件的角色,而且应用于历年的双11场景。2019年1月,为了打造更加完善的技术生态和普惠技术成果,Seata 正式宣布对外开源了。

主要技术点或特性:

支持常见主流的微服务框架
支持AT模式
支持TCC模式
支持SAGA模式
高可用和强大的横向扩展能力
对于我们的作用: 分布式事务问题几乎是当下后端开发和架构领域最棘手和最有含金量的问题之一,多学点总是好的。

提醒: 所有项目的源码和开发文档都在github上

0

评论区