5个开源的Java项目快速开发脚手架

news2025/1/16 7:45:00

概览 :

  1. Guns
  2. pig
  3. RuoYi
  4. Jeecg-boot
  5. iBase4J

一、Guns

推荐指数 :⭐⭐⭐⭐⭐

简介

  1. 采用主流框架 : 基于 Spring Boot2.0+版本开发,并且支持 Spring Cloud Alibaba 微服务。
  2. 功能齐全 :包含系统管理,代码生成,多数据库适配,SSO 单点登录,工作流,短信,邮件发送,OAuth2 登录,任务调度,持续集成,docker 部署等功能;
  3. 提供了企业版 :企业版功能更多,并且提供了完善的开发文档,开发 demo,快速入门。

相关地址:

  1. 项目地址 : https://gitee.com/stylefeng/guns
  2. 项目官网 :https://www.stylefeng.cn/

另外,这个项目还提供了视频教你如何使用,地址:https://www.bilibili.com/video/av56718207 。

推荐理由

  1. 项目技术主流,唯一缺点是企业版和微服务版需要单独购买。
  2. 社区活跃。
  3. 项目功能完善,满足企业绝大部分场景开发需求,并且额外提供了持续集成,docker 部署等功能。
  4. ......

适合场景

适合企业后台管理网站的快速开发场景,不论是对于单体和微服务都有支持。

项目展示

二、pig

推荐指数 :⭐⭐⭐⭐⭐

根据项目官网,简单说下这个项目:

  1. 基于 Spring Cloud Hoxton 、Spring Boot 2.2、 OAuth2 的 RBAC 权限管理系统
  2. 基于数据驱动视图的理念封装 element-ui,即使没有 vue 的使用经验也能快速上手
  3. 提供对常见容器化支持 Docker、Kubernetes、Rancher2 支持
  4. 提供 lambda 、stream api 、webflux 的生产实践

相关地址

  1. 项目地址:https://gitee.com/log4j/pig
  2. 官网地址: https://pig4cloud.com/

推荐理由

  1. 社区活跃;
  2. 提供了 Spring Cloud Hoxton & Alibaba 的微服务版本;
  3. 权限管理做得不错!
  4. 功能完全开源!
  5. 支持第三方系统比如 guns、renren 接入
  6. ......

适合场景

项目展示

三、RuoYi

推荐指数 :⭐⭐⭐⭐

简介

项目名字是作者还未出生的女儿,看到之后很感动!

RuoYi 一款基于基于 SpringBoot 的权限管理系统 易读易懂、界面简洁美观,直接运行即可用 。

作者是这样介绍这个项目的:

“ 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的 Web 应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 性别男,若依是给还没有出生女儿取的名字(寓意:你若不离不弃,我必生死相依)

相关网站 :

  1. 项目地址 :https://gitee.com/y_project/RuoYi
  2. 文档地址 :http://doc.ruoyi.vip/
  3. 官网地址:http://ruoyi.vip/

推荐理由

  1. 提供了多种版本:单体、前后端分离、微服务(即将开源)
  2. 提供的功能齐全,覆盖大部分场景需求
  3. 提供的文档丰富便于上手和学习
  4. 生态系统丰富提供了多种版本
  5. 采用主流框架比如 SpringBoot、Shiro、Thymeleaf、Vue、Bootstrap
  6. ......

适合场景

她可以用于所有的 Web 应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。

项目展示

四、Jeecg-boot

推荐指数 :⭐⭐⭐

简介

  1. 低代码 :JeecgBoot 是一款基于代码生成器的 J2EE 低代码快速开发平台。强大的代码生成器让前后端代码一键生成,无需写任何代码!
  2. 采用主流框架 :整体采用现在流行的前后端分离架构:后端框架为主流的 SpringBoot 2.x,前端为主流的 Ant Design&Vue。另外,还用到了 Mybatis-plus 数据库层面的框架,以及 Shiro 和 JWT 做身份认证和权限管理。
  3. 整体灵活实用 : 简单功能由 Online Coding 配置实现,帮助 Java 项目解决 70%重复工作,复杂功能由代码生成器生成进行手工 Merge。让开发更关注业务逻辑,既能快速提高开发效率,帮助公司节省成本,同时又不失灵活性。

相关地址:

  1. 项目地址:https://gitee.com/jeecg/jeecg-boot
  2. 在线演示 : http://boot.jeecg.com
  3. 技术官网: http://www.jeecg.com

整个项目的技术架构如下图所示,README 文档已经贴好了,我就直接复制过来了。

推荐理由

  1. 采用主流框架,前后端分离,对开发比较友好;
  2. 用户管理和权限权利模块做的非常好,满足绝大部分人员管理场景的需求。权限控制采用 RBAC(Role-Based Access Control,基于角色的访问控制) ,支持菜单动态路由。
  3. 提供了 Excel 导入导出、报表工具等必备功能。
  4. 自带消息中心,支持短信、邮件、微信推送等等。
  5. 页面校验自动生成(必须输入、数字校验、金额校验、时间空间等);
  6. 平台 UI 强大,实现了移动自适应,无需再为移动端适配;
  7. ......

适合场景

Jeecg-Boot 快速开发平台,可以应用在任何 J2EE 项目的开发中,尤其适合企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工 Merge 的开发方式,可以显著提高开发效率 70%以上,极大降低开发成本。

项目展示

五、iBase4J

推荐指数 :⭐⭐

简单来说:

  1. 分布式架构 :iBase4J 是 Java 语言的分布式系统架构。
  2. Maven 模块化管理 : 使用 Maven 对项目进行模块化管理,提高项目的易开发性、扩展性。
  3. 子系统扩展性强 :子系统之间使用 Dubbo 或 MQ 进行通信。
  4. ......

技术选型如下:

  • 核心框架:Sring boot + Spring Framework + Dubbo + ibase4j-common
  • 安全框架:Apache Shiro
  • 任务调度:Spring + Quartz
  • 持久层框架:MyBatis + MyBatis-Plus
  • 数据库连接池:Alibaba Druid
  • 缓存框架:Redis
  • 会话管理:Spring-Session
  • 日志管理:SLF4J、Log4j2
  • 前端框架:Angular JS + Bootstrap + Jquery

推荐理由

  1. 分布式架构,但是用的是 Dubbo,如果有 Spring Cloud 版本就好了。
  2. 支持 QQ、微信、新浪微博第三方登录。
  3. 自带 excel 导入导出,汉字转拼音,身份证号码验证,数字转大写人民币,FTP/SFTP/fastDFS 上传下载,发送邮件,redis 缓存,加密等等工具类
  4. ......

适合场景

分布式企业管理系统的场景。

项目展示

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python线程池【ThreadPoolExecutor()】批量获取博客园标题数据

转载:蚂蚁学python 网址:【【2021最新版】Python 并发编程实战,用多线程、多进程、多协程加速程序运行】 https://www.bilibili.com/video/BV1bK411A7tV/?p8&share_sourcecopy_web&vd_sourced0ef3d08fdeef1740bab49cdb3e96467实战案…

SpringMVC 面试题

1、什么是SpringMVC? SpringMVC是一个基于Java的实现了MVC设计模式的“请求驱动型”的轻量级WEB框架,通过把model,view,controller 分离,将web层进行职责的解耦,把复杂的web应用分成逻辑清晰的几个部分&am…

Arduino-PWM调光

PWM调光实验什么是PWM?PWM是(Pulse Width Modulation)的简称,中文我们说这是脉冲宽度调制。脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通…

react 函数式组件的hooks

目录 useState useEffect useCallback useMemo useRef useContext useReducer 自定义hooks useState 函数式组件的状态 ,格式: const [value,setValue] useState( {xxxx} ) console.log([value, setValue])打印一下可以看到: value…

腾讯安全与锐捷网络战略合作,威胁情报能力“被集成”

2月28日,腾讯安全和锐捷网络在北京联合举办“威胁情报”战略合作发布会。双方发布了一款集成了腾讯安全威胁情报的新一代防火墙,并举办战略合作签约仪式。会上,锐捷网络安全产品事业部总经理项小升、腾讯安全总经理陈龙代表双方签署战略合作协…

taobao.user.avatar.get

¥开放平台基础API不需用户授权 根据混淆nick查询用户头像 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 点击获取key和secret 请求参数 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey,…

MyBatis中#{}和${}的区别

目录 前言 1、处理参数的方式不同 2、${}的优点 3、SQL注入问题 4、like查询问题 前言 #{}和${}都可以在MyBatis中用来动态地接收参数,但二者在本质上还是有很大的区别。 1、处理参数的方式不同 ${} :预编译处理 MyBatis在处理#{}时&#xff0c…

【Android】全局加载框的使用

项目需求 在网络加载中使用网络加载框,在请求数据或者其他耗时操作的时候,显示加载框,当数据返回之后或者操作完成的时候加载框取消。 效果如下: 需求实现 使用一个开源库【Gloading】实现 项目地址链接: Gloading 1.引入依赖…

umi 中如何使用 px2rem 插件做rem适配

umi 中如何使用 px2rem 插件做rem适配在umi的src下面创建两个文件app.ts和document.ejs下载lib-flexible和postcss-px2rem-exclude在.umirc.ts文件中进行配置和postcss-px2rem-exclude的引入在app.ts文件中引入lib-flexible如果px2rem配置无法生效,那么我们就要在do…

Javascript的API基本内容(五)

一、js组成 JavaScript的组成 ECMAScript: 规定了js基础语法核心知识。 比如:变量、分支语句、循环语句、对象等等 Web APIs : DOM 文档对象模型, 定义了一套操作HTML文档的API BOM 浏览器对象模型,定义了一套操作浏览器窗口的API 二、loc…

JavaScript从零开始 学习记录(二)

前言 寒假花了大气力去整理公众号,因而一些任务没有完成,但没有关系,毕竟计划赶不上变化,接着学习,争取早日开发油猴脚本 笔记范围 从这节视频到那节视频结束 课程目标 能够知道为什么要有数组能够创建数组能够获…

“来源可靠、程序规范、要素合规”与“四性”

《从技术可行性的视角看电子档案的“四性”》一文中已经明确,笔者认为的电子档案“四性”是指“真实性、完整性、可用性和安全性”。而《从特斯拉“刹车失灵”事件看电子档案的法定要求》一文中,笔者对于“来源可靠、程序规范、要素合规”的解读如下&…

Qt基础之三十:百万级任务并发处理

在实际的开发过程中,经常会遇到要处理大量任务场景,比如说压缩文件夹中的所有文件、对文件夹中的所有文件加密、上传文件夹中的所有文件到ftp等等。这里说百万级并不夸张,理论上文件夹中有任意多个文件都是可以的。 本文以压缩文件夹中的100万张jpg图片为例,压缩工具使用的…

外卖扫码点餐系统源码 后台管理端+商家端+门店端+小程序用户端源码

外卖点餐 堂食点餐 扫码点餐 本套扫码点餐系统源码基于java语言开发,移动端原生小程序,SaaS模式。代码完整,带部署调试视频。 系统由总后台管理端商家端门店端小程序用户端组成,支持扫码点单、计费结账、出菜上菜、菜品管理、菜…

【办公类-19-02】办公中的思考——Python批量制作word文本框的名字小标签,用A4word打印(植物角、家长会、值日生)

背景需求: 2月28日去小班带班,看到班主任制作了一些小手印花束作为家长会的家长座位提示,上面贴着“”圆形白色的幼儿名字贴”。 我立刻想起了制作的过程——在word中插入文本框,然后复制无数个文本框,摆好位置&#…

【AI绘画】绝美春天插画,人人都是插画师

春天,自然界重新苏醒,生机勃勃,百花争艳,万籁俱寂。一切都被新的生命活力所染上。春风拂面,一股清新的空气流过,仿佛带着一种神秘的力量,让人心旷神怡,心情舒畅、轻松愉悦。 突然&a…

549、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ(三)】 2023.02.28

目录一、Spring 整合 RocketMQ1.1 消息生产者1.2 消息消费者1.3 Spring 配置文件1.4 运行实例程序二、参考链接一、Spring 整合 RocketMQ 不同于 RabbitMQ、ActiveMQ、Kafka 等消息中间件,Spring 社区已经通过多种方式提供了对这些中间件产品集成,例如通…

WebRTC Opus编码器的创建与参数细节分析( sdp -> native )

这几天在做一些WebRTC音频改进方面的调查工作,在阅读Chromium源码的过程中,就顺便记录下来,便于日后回顾。本文基于Chromium 85源码分析,由于Chromium的快速发展,很有可能不适合于跨度太大的Chromium版本。大家知道Opu…

QT学习14:QtXlsx操作Excel表

一、前言操作excel方式有:QAxObject 和QtXlsx区别:Qt自带的QAxObject库操作excel的前提是电脑已经安装微软的Office(包含EXCEL),而QtXlsx可以直接使用免装Office且操作更简单。二、QtXlsx操作示例参考:http…

C筑基——深入理解内存对齐

目录1 前言2 正文2.1 为什么要有内存对齐?2.2 内存对齐原则2.2.1 基本数据类型是自然对齐的2.2.2 包含基本数据类型成员的结构体套用结构体内存对齐原则来分析使用 gdb 查看这两个结构体的成员内存位置结构体类型变量是自然对齐的吗?2.2.3 数组类型2.3 修…