有哪些值得推荐的Java 练手项目?

大家好,我是 jonssonyan

我是一名 Java 后端程序员,偶尔也会写一写前端,主要的技术栈是 Java+SpringBoot+MySQL+Redis+Vue.js,基于我学过的技术认真的对每个分享的项目进行鉴别,今天就和大家分享我曾经用来学习的开源项目,每个项目都是获得过很多人的认可。

对于这些开源项目有的可能没有在实际生产环境进行测试过,只是无脑的堆叠技术,表面上看上去用技术很多的样子,这也是学习类项目的特点,让人可以通过一个项目学习全部常见的技术,所以分享的这些项目不一定有技术深度,场景的业务也可能没有特别的复杂,但肯定可以让你开阔眼界,从中学习到知识和技术。

mall 电商系统(70.4K star)

GitHub:https://github.com/macrozheng/mall

文档:https://www.macrozheng.com

  • 后端技术栈:SpringBoot+SpringSecurity+MyBatis+Elasticsearch+RabbitMQ+Redis+MongoDB+LogStash+Nginx+Docker+Jenkins+MinIO+JWT+Swagger-UI
  • 前端技术栈:Vue+Vue-router+Vuex+Element+v-charts
  • 移动端技术栈:uni-app

这个项目用到的技术很多,而且包含Web 端和移动端,即可以学习到 Web 开发技术,还可以学习到小程序开发技术。文档写的也比较丰富,方便我们在学习的过程中进行查阅。

有来技术团队(3K star)

GitHub:https://github.com/youlaitech

文档:https://www.youlai.tech

  • 后端技术栈:Spring Boot+Spring Cloud & Alibaba+MySQL+Nacos+Redis+Docker+RabbitMQ+Seata+Canal+MinIO
  • 前端技术栈:Vue3+Element Plus+Vite+TypeScript+Pinia
  • 移动端技术栈:uni-app

这个项目虽然 star 数不是很多,但是技术比较新,**特别是对于分布式的处理上,逻辑比较清晰,我在学习分布式认证&鉴权的时候就是参考里面的很多代码。**前端技术栈使用的最新版的 Vue3 和 Element Plus,并且他还自己开发了自己的后端管理模板,页面自适应和兼容性这块做的很好。

有来技术后端管理模板:https://github.com/youlaitech/vue3-element-admin

他还在博客园更新了很多技术文章,真正的吃透每个技术点,比如 RBAC 鉴权、分布式认证和鉴权、分布式 ID 等

有来技术博客园技术文章:https://www.cnblogs.com/haoxianrui

若依(10K star)

GitHub:https://github.com/yangzongzhuan

文档:http://ruoyi.vip

  • 后端技术栈:Spring Boot+Spring Cloud & Alibaba+MySQL+Redis+Docker+JWT+Shiro+Spring Security
  • 前端技术栈:Vue3+Element Plus+Vite+TypeScript+Pinia
  • 移动端技术栈:uni-app+uniui+小程序

说到后台模板,若依肯定是不能少的,主要原因是他真的很全啊。几乎所有企业级开发中用到的技术都可以在若依项目中找到类似的代码。有的小公司为了赶工期,有的直接把若依项目复制过来改改就可以用了。绝对是毕业设计杀手。

JEECG(40K star)

GitHub:https://github.com/jeecgboot

文档:https://github.com/jeecgboot

  • 后端技术栈:Spring Boot+Spring Cloud & Alibaba+MySQL+Redis+Mybatis-plus+Shiro+JWT
  • 前端技术栈:Ant Design+Vue3
  • 移动端技术栈:uni-app

一款基于 BPM 的低代码平台,里面的代码很多也值得去参考,同样是个全栈项目,包含 Web 端和移动端。

以上推荐的 Java 练手项目有部分是类似的。找其中 1-2 个项目练手就可以了,技术很多都是大同小异,关键是自己开发的时候能做出来,自己在写项目的时候也可以复制这些项目里面质量比较高的代码,能省时省力。

本文到这里就结束了,如果对你有帮助可以点一个免费的赞,如果你有不同的想法或者意见,欢迎在评论区或者给我留言,我们下期再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/154092.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【置顶】关于博客的一些公告

所谓 万事开头难,最开始的两个专栏 《微机》 和 《骨骼动作识别》 定价 29.9 ,因为: 刚开始确实比较困难,要把自己学的知识彻底搞懂讲给别人,还要 码字排版,从 Markdown 语法开始学起(这都是 花…

【Java 进阶篇】CSS 属性

当你学习CSS时,了解CSS属性是非常重要的,因为这些属性控制了网页上元素的外观和布局。本文将详细介绍一些常见的CSS属性,包括文本属性、盒子模型属性、背景和边框属性、定位属性等。我们还将为每个属性提供示例代码,以便你更好地理…

Go 复合类型之字典类型介绍

Go 复合类型之字典类型介绍 文章目录 Go 复合类型之字典类型介绍一、map类型介绍1.1 什么是 map 类型?1.2 map 类型特性 二.map 变量的声明和初始化2.1 方法一:使用 make 函数声明和初始化(推荐)2.2 方法二:使用复合字…

家政服务行业做开发微信小程序可以实现什么功能

家政服务行业开发微信小程序可以实现多种功能,从而提升服务品质和效率,下面我们来详细介绍一些可能实现的功能。 一、展示服务信息 家政服务微信小程序可以展示各种服务信息,包括各类家政服务项目、价格、服务流程、服务人员信息等。用户可以…

【pycharm】控制台报错:终端无法加载文件\venv\Scripts\activate.ps1

目录 一、在pycharm控制台输入 二、在windows的power shell (以管理员方式打开) 三、 在pycharm控制台输入 四、重新打开pycharm即可 前言:安装pycharm2022-03版本出现的终端打开报错 一、在pycharm控制台输入 get-executionpolicy …

S7-1200PLC与昆仑通态触摸屏通讯

测试环境:Win10、MCGS、博图V16、1214DCDCDC 博途工控人平时在哪里技术交流博途工控人社群 博途工控人平时在哪里技术交流博途工控人社群 将PLC端做如下配置 1-MCGS配置S7-1200驱动 1.1-添加驱动 双击设备窗口 点击设备组态窗口下的设备管理,选择西门…

Easysearch Chart 0.2.0都有哪些变化

Easysearch Chart 包更新了,让我们来看看都有哪些变化: Docker 镜像升级 Service 名称调整,支持 NodePort 模式部署 现在让我们用 NodePort 模式部署一下: # helm search repo infinilabs NAME CHART VERSION …

Qt元对象系统 day4

Qt元对象系统 day4 元对象 元对象系统是一个基于标准C的扩展,为Qt提供了信号与槽机制、实时类型信息、动态属性系统。元对象可以操作、创建、描述或是执行其他对象,元对象又称为基对象元对象组成 QObject: QT 对象模型的核心,绝…

nginx配置实例-负载均衡

1 实现效果: 浏览器访问nginx,输入访问nginx地址,然后负载均衡到tomcat8080和8002端口中 2 准备工作: 1)准备两台tomcat容器,一台8080,一台8081 2)在两台tomcat里面的webapps目录…

Eclipse iceoryx(千字自传)

1 在固定时间内实现无任何限制的数据传输 在汽车automotive、机器人robotics和游戏gaming等领域,必须在系统的不同部分之间传输大量数据。使用Linux等操作系统时,必须使用进程间通信(IPC)机制传输数据。Eclipse iceoryx是一种中间件,它使用零拷贝Zero-Copy、共享内存Share…

【轻松玩转MacOS】网络连接篇

引言 本篇让我们来聊聊网络连接。不论你是在家、在办公室,还是咖啡厅、机场,几乎所有的MacOS用户都需要连接到互联网。在这个部分,我们将向你展示如何连接到互联网和局域网。让我们开始吧! 一、连接到互联网 首先,我…

http协议总结

一、http协议。 HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种在Web中广泛使用的应用层协议,它定义了客户端和服务器之间的通信规则,简化了Web应用程序的开发和交互过程。其实传输是由TCP协议完成的。 HT…

UOS通过GPG对文件签名验签

本人用的版本:gpg (GnuPG) 2.2.12 生成密钥 生成公钥/私钥对 gpg --full-generate-key设置密钥的长度 默认回车3072,越长越安全。 设定密钥的有效期限 默认回车“0” 构建用户标识 输入姓名、邮件、注释后,输入“o”确认 在弹出框内…

vue3学习(一)---新特性

文章目录 vue3和vue2的区别重写双向数据绑定优化Vdom性能瓶颈patch flag 优化静态树 FragmentTree shaking组合式API写法 vue3和vue2的区别 重写双向数据绑定 vue2 基于Object.defineProperty()实现vue3 基于Proxy proxy与Object.defineProperty(obj, prop, desc)方式相比有以…

OpenCV级联分类器识别车辆实践笔记

1. OpenCV 级联分类器的基本原理 基于Haar特征的级联分类器的目标检测是Paul Viola和Michael Jones在2001年的论文中提出的一种有效的目标检测方法。这是一种基于机器学习的方法,从大量的正面和负面图像中训练级联函数。然后用它来检测其他图像中的物体。 Haar特征…

八大排序详解(默认升序)

一、直接插入排序 直接插入排序:直接插入排序就是像打扑克牌一样,每张牌依次与前面的牌比较,遇到比自己大的就将大的牌挪到后面,遇到比自己小的就把自己放在它后面(如果自己最小就放在第一位),所有牌排一遍后就完成了排…

轻松驾驭Hive数仓,数据分析从未如此简单!

1 前言 先通过SparkSession read API从分布式文件系统创建DataFrame 然后,创建临时表并使用SQL或直接使用DataFrame API,进行数据转换、过滤、聚合等操作 最后,再用SparkSession的write API把计算结果写回分布式文件系统 直接与文件系统交…

基于三平面映射的地形纹理化【Triplanar Mapping】

你可能遇到过这样的地形:悬崖陡峭的一侧的纹理拉伸得如此之大,以至于看起来不切实际。 也许你有一个程序化生成的世界,你无法对其进行 UV 展开和纹理处理。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 三平面映射(Trip…

CTF之CTF(夺旗赛)介绍

什么是CTF? CTF(Capture The Flag,中文一般译作“夺旗赛”)在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,用以代替之前黑客们通过互相发起真实攻击进行…

2023年中国全固态电池市场发展趋势分析:全固态电池的渗透率将占据固态电池市场主体[图]

全固态电池是锂电池的一种细分,其电池的电解质和电极材料全部由固态材料构成,而非传统电池中常见的液态或者凝胶电解质。由于传统液态锂电池中电解液具有易燃特性,近年来相关安全事故频发,因此随着技术革新,固态电池的…