此篇文章用于存那些优质的开源项目,方便反复学习参考
Sa-Token【Java权限认证框架】
gitee地址:https://gitee.com/dromara/sa-token 官网地址:http://sa-token.dev33.cn/
Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0 等一系列权限相关问题 登录验证 —— 单端登录、多端登录、同端互斥登录、七天内免登录 权限验证 —— 权限认证、角色认证、会话二级认证 Session会话 —— 全端共享Session、单端独享Session、自定义Session 踢人下线 —— 根据账号id踢人下线、根据Token值踢人下线 账号封禁 —— 指定天数封禁、永久封禁、设定解封时间 持久层扩展 —— 可集成Redis、Memcached等专业缓存中间件,重启数据不丢失 分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案 微服务网关鉴权 —— 适配Gateway、Soul、Zuul等常见网关的路由拦截认证 单点登录 —— 内置三种单点登录模式:无论是否跨域、是否共享Redis,都可以搞定 二级认证 —— 在已登录的基础上再次认证,保证安全性 独立Redis —— 将权限缓存与业务缓存分离 临时Token验证 —— 解决短时间的Token授权问题 模拟他人账号 —— 实时操作任意用户状态数据 临时身份切换 —— 将会话身份临时切换为其它账号 前后台分离 —— APP、小程序等不支持Cookie的终端 同端互斥登录 —— 像QQ一样手机电脑同时在线,但是两个手机上互斥登录 多账号认证体系 —— 比如一个商城项目的user表和admin表分开鉴权 花式token生成 —— 内置六种Token风格,还可:自定义Token生成策略、自定义Token前缀 注解式鉴权 —— 优雅的将鉴权与业务代码分离 路由拦截式鉴权 —— 根据路由拦截鉴权,可适配restful模式 自动续签 —— 提供两种Token过期策略,灵活搭配使用,还可自动续签 会话治理 —— 提供方便灵活的会话查询接口 记住我模式 —— 适配[记住我]模式,重启浏览器免验证 密码加密 —— 提供密码加密模块,可快速MD5、SHA1、SHA256、AES、RSA加密 全局侦听器 —— 在用户登陆、注销、被踢下线等关键性操作时进行一些AOP操作 开箱即用 —— 提供SpringMVC、WebFlux等常见web框架starter集成包,真正的开箱即用 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tgcP0DoH-1626688555427)(https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/x/sa-token-js3.png “https://color-test.oss-cn-qingdao.aliyuncs.com/sa-token/x/sa-token-js3.png”)]
AJ-Captcha 【验证码】
gitee地址:https://gitee.com/anji-plus/captcha#https://captcha.anji-plus.com/ 官网地址:https://captcha.anji-plus.com/#/doc 在线体验地址:https://captcha.anji-plus.com/#/
行为验证码采用嵌入式集成方式,接入方便,安全,高效。抛弃了传统字符型验证码展示-填写字符-比对答案的流程,采用验证码展示-采集用户行为-分析用户行为流程,用户只需要产生指定的行为轨迹,不需要键盘手动输入,极大优化了传统验证码用户体验不佳的问题;同时,快速、准确的返回人机判定结果。目前对外提供两种类型的验证码,其中包含滑动拼图、文字点选。 后端基于Java实现,提供纯Java.jar和SpringBoot Starter。前端提供了Android、iOS、Futter、Uni-App、ReactNative、Vue、Angular、Html、Php等多端示例。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BTsvd1qf-1626688555430)(https://captcha.anji-plus.com/static/blockPuzzle.png “https://captcha.anji-plus.com/static/blockPuzzle.png”)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1o9Cqn76-1626688555432)(https://captcha.anji-plus.com/static/clickWord.png “https://captcha.anji-plus.com/static/clickWord.png”)]
form-generator【Element UI表单设计】
gitee地址:https://gitee.com/mrhj/form-generator#https://mrhj.gitee.io/form-generator
Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。
国内预览地址
EasyCaptcha【Java图形验证码】
gitee地址:https://gitee.com/whvse/EasyCaptcha
Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。
效果展示
MarkPage【Markdown编辑器】
gitee地址:https://gitee.com/chinesetiger/markpage
一种基于showdown js编写markdown文档的简单方法,支持表格、代码高亮、美人鱼图表和导航。
使用方法:
代码语言:javascript复制<textarea id="markpage">
### markdown document
writing you document in here
</textarea>
<!-- only need to import markpage.js file -->
<script src="markpage.js" type="text/javascript"></script>
大屏数据展示模板
redis-admin【Redis缓存图形化管理工具】
gitee地址:https://gitee.com/xianxin98/redis-admin
轻量级Redis缓存图形化管理工具,包含redis的5种数据类型的CRUD操作
vue-form-making【element-ui 表单设计器】
gitee地址:https://gitee.com/gavinzhulei/vue-form-making 在线预览地址:http://form.xiaoyaoji.cn/basic-version
基于 vue 和 element-ui 实现的可视化表单设计器,使用了最新的前端技术栈,内置了 i18n 国际化解决方案,可以让表单开发简单而高效。
zplayer【音乐播放器】
gitee地址:https://gitee.com/just-cloud/zplayer
史上最精简的音乐播放器!300多行js!你想要的功能zplayer都有!请加Q群130512958交流技术。zplayer还支持初始化多个播放器。
使用例子:
代码语言:javascript复制<div id="player"></div>
<script>
var zp = new zplayer({
element: document.getElementById("player"),
autoPlay: false,/*是否开启自动播放,默认false*/
lrcStart: true,/*是否开启歌词功能 ,默认false(为true时musics集合中需要传入lrc字段。)*/
showLrc: true,/*开启歌词功能后是否立即展示歌词内容 ,默认false*/
fixed: true, /*是否固定在底部,默认false*/
listFolded: true, /*列表默认折叠,默认false*/
listMaxHeight: 300, /*列表最大高度,默认240*/
musics: [{
title: "可能否",
author: "木小雅",
url: "http://music.163.com/song/media/outer/url?id=569214126.mp3",
pic: "http://p1.music.126.net/SJYnDay7wgewU3O7tPfmOQ==/109951163322541581.jpg?param=300x300",
lrc:"[00:00] 作曲 : 木小雅n[00:01] 作词 : 木小雅n[00:17]春天的风 能否吹来夏天的雨"
},{
title: "讲真的",
author: "曾惜",
url: "http://music.163.com/song/media/outer/url?id=30987293.mp3",
pic: "http://p1.music.126.net/cd9tDyVMq7zzYFbkr0gZcw==/2885118513459477.jpg?param=300x300",
lrc:"[by:却连一句我爱你都不能说出口]n[ti:讲真的]n[ar:曾惜]n[al:不要你为难]n[by:冰城离殇]n[00:00] 作曲 : 何诗蒙n[00:01] 作词 : 黄然n[00:18]今夜特别漫长"
ok-admin【前端模板】
gitee地址:https://gitee.com/wudibo/ok-admin 预览地址:http://ok-admin.xlbweb.cn/
基于layui开发的一套模板
le-markdown-editor【Markdown编辑器】
gitee地址:https://gitee.com/Chave-Z/le-markdown-editor 在线预览地址:http://106.54.92.121/
一款基于vue的Markdown编辑器
layuimini【后台模板】
gitee地址:https://gitee.com/zhongshaofa/layuimini 在线预览地址:http://layuimini.99php.cn/iframe/v2/index.html
最简洁、清爽、易用的layui后台框架模板
WordGo【Java生成word】
gitee地址:https://gitee.com/qiruipeng/WordGo
WordGO - 让Java生成word文档更容易
使用例子:
代码语言:javascript复制WordGo wordGo = new WordGo();
//新建一个word
wordGo.add("Hello World", "font-size: 15; color: #FF0000");
//填充数据可以查看对应功能说明
wordGo.create("C:\demo.docx");
//最后生成即可,参数是生成目录,必须带文件名且以.docx结尾
大数据可视化大屏模板
gitee地址:https://gitee.com/52itstyle/visual-large-screen
hevue-img-preview【图片预览】
gitee地址:https://gitee.com/ihope_top/hevue-img-preview 官网地址:https://heyongsheng.github.io/#/
基于 vue 编写的 vue 图片预览组件,支持 pc 和手机端,支持单图和多图预览,仅传入一个图片地址,即可实现图片预览效果。手机端支持单指拖拽和双指缩放。
ok-cli【RBAC】
gitee地址:https://gitee.com/wudibo/ok-cli
一个基于RBAC设计的前后端分离开发脚手架~ 内嵌数据库,开箱即用,可基于此脚手架进行二次开发,无需每次再考虑基础模块的重复开发 项目特点
- 基于SpringBoot 2.4.5版本开发
- 基于Shiro实现用户认证、授权
- 基于Shiro实现授权缓存
- 基于Shiro实现密码加密(MD5加密 hash次数 基于账号的salt加密)
- 基于Shiro实现登录次数限制
- 重写FormAuthenticationFilter和DefaultWebSessionManager,前后端分离开发,使用token形式交互
- 集成Swagger3 API在线文档
- 操作日志记录
- 用户、角色、权限模块功能开发
- 多环境打包配置
- 多环境日志组件配置
- 使用内嵌数据库,不用额外引入MySQL;使用内存缓存Ehcache,不用额外引入Redis
wgcloud【数据监控】
官网地址:http://www.wgstart.com/ gitee地址:https://gitee.com/wanghouhou/wgcloud
WGCLOUD基于微服务springboot架构开发,是轻量高性能的分布式监控系统,核心采集指标包括:主机系统信息,网络流量,CPU状态,CPU温度,内存状态,磁盘空间和IO监控,硬盘smart健康检测,系统负载,大屏可视化,ES集群状态,业务数据监控(mysql,oracle,pgsql等),服务接口检测,应用进程监控,网络拓扑图,端口监控,日志文件监控,docker监控,Web SSH,堡垒机,告警信息(邮件微信钉钉短信等)推送
smart-license【授权】
gitee地址:https://gitee.com/smartboot/smart-license
smart-license 是一款用于安全加固的开源项目。 主要服务于非开源产品、商业软件、具备试用功能的付费软件等,为软件提供授权制的使用方式。
- License,通过 smart-license 生成的授权文件,导入至要授权使用的软件产品中。
- 源数据,需要进行 License 加工处理的基础数据。例如,将软件产品运行的配置文件作为源数据,经由 smart-license 授权处理后生成 License 文件。
- License源文件,生成 License 的同时,创建一份文件用于记录:源数据,授权时间,过期时间,秘钥对等信息。由软件授权方持有,当客户遗失 License 文件之后可以根据License源文件重新生成 License。
hutool【Java工具类库】
gitee地址:https://gitee.com/dromara/hutool 官网地址:https://www.hutool.cn/
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
Hutool中的工具方法来自每个用户的精雕细琢,它涵盖了Java开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
Hutool是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
easypoi【Excel导出】
gitee地址:https://gitee.com/lemur/easypoi 官方文档:http://doc.wupaas.com/docs/easypoi/easypoi-1c0u4mo8p4ro8
easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法
springboot-bucket
gitee地址:https://gitee.com/yidao620/springboot-bucket
SpringBoot 全家桶 Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。
本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一篇博客 一个可运行项目”的形式来详细说明。
dynamic-datasource-spring-boot-starter【多数据源】
gitee地址:https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter
dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。
- 支持 数据源分组 ,适用于多种场景 纯粹多库 读写分离 一主多从 混合模式。
- 支持数据库敏感配置信息 加密 ENC()。
- 支持每个数据库独立初始化表结构schema和数据库database。
- 支持无数据源启动,支持懒加载数据源(需要的时候再创建连接)。
- 支持 自定义注解 ,需继承DS(3.2.0 )。
- 提供并简化对Druid,HikariCp,BeeCp,Dbcp2的快速集成。
- 提供对Mybatis-Plus,Quartz,ShardingJdbc,P6sy,Jndi等组件的集成方案。
- 提供 自定义数据源来源 方案(如全从数据库加载)。
- 提供项目启动后 动态增加移除数据源 方案。
- 提供Mybatis环境下的 纯读写分离 方案。
- 提供使用 spel动态参数 解析数据源方案。内置spel,session,header,支持自定义。
- 支持 多层数据源嵌套切换 。(ServiceA >>> ServiceB >>> ServiceC)。
- 提供 基于seata的分布式事务方案。 附:不支持原生spring事务。
- 提供 本地多数据源事务方案。 附:不支持原生spring事务。
xxl-sso【分布式单点登录框架】
gitee地址:https://gitee.com/xuxueli0323/xxl-sso 官方文档:https://www.xuxueli.com/xxl-sso/
XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、Cookie Token均支持、Web APP均支持"等特性。现已开放源代码,开箱即用。
easyexcel【读写Excel】
官方地址:https://www.yuque.com/easyexcel/doc/easyexcel
代码语言:javascript复制EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。在尽可能节约内存的情况下支持读写百M的Excel。
/**
* 最简单的读
* <p>1. 创建excel对应的实体对象 参照{@link DemoData}
* <p>2. 由于默认一行行的读取excel,所以需要创建excel一行一行的回调监听器,参照{@link DemoDataListener}
* <p>3. 直接读即可
*/
@Test
public void simpleRead() {
String fileName = TestFileUtil.getPath() "demo" File.separator "demo.xlsx";
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead();
}
ClassFinal【class文件安全加密】
gitee地址:https://gitee.com/roseboy/classfinal
ClassFinal是一款java class文件安全加密工具,支持直接加密jar包或war包,无需修改任何项目代码,兼容spring-framework;可避免源码泄漏或字节码被反编译。
- 无需修改原项目代码,只要把编译好的jar/war包用本工具加密即可。
- 运行加密项目时,无需求修改tomcat,spring等源代码。
- 支持普通jar包、springboot jar包以及普通java web项目编译的war包。
- 支持spring framework、swagger等需要在启动过程中扫描注解或生成字节码的框架。
- 支持maven插件,添加插件后在打包过程中自动加密。
- 支持加密WEB-INF/lib或BOOT-INF/lib下的依赖jar包。
- 支持绑定机器,项目加密后只能在特定机器运行。
- 支持加密springboot的配置文件。
okhttps
gitee地址:https://gitee.com/ejlchina-zhxu/okhttps 官网 https://okhttps.ejlchina.com/
代码语言:javascript复制OkHttps 是近期开源的对 OkHttp3 轻量封装的框架,它独创的异步预处理器,特色的标签,灵活的上传下载进度监听与过程控制功能,在轻松解决很多问题的同时,设计上也力求纯粹与优雅。
// 同步 HTTP
List<User> users = OkHttps.sync("/users")
.get() // GET请求
.getBody() // 响应报文体
.toList(User.class); // 自动反序列化 List
// 异步 HTTP
OkHttps.async("/users/1")
.setOnResponse(res -> {
// 自动反序列化 Bean
User user = res.getBody().toBean(User.class);
})
.get(); // GET请求
// WebSocket
OkHttps.webSocket("/chat")
.setOnMessage((WebSocket ws, Message msg) -> {
// 从服务器接收消息
Chat chat = msg.toBean(Chat.class);
// 向服务器发送消息
ws.send(chat);
})
.listen(); // 启动监听
spring-boot-fastdfs
gitee地址:https://gitee.com/52itstyle/spring-boot-fastdfs
学习fastdfs不错的文章 分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。
easy-okhttp【OkHttp网络框架封装】
gitee地址:https://gitee.com/mzllon/easy-okhttp
easy-okhttp是对OkHttp网络框架封装,提供文件上传和下载,表单(含文件)提交,链式调用,支持HTTPS和自定义签名证书等特性。 OkHttp网络框架的流行始于Android,但是在Java后端仍然是Apache HttpClient网络框架,这个框架功能非常强大,但缺点在于设计非常的复杂且jar的比较大。 所以才有easy-okhttp项目,主要目的希望弃用Apache HttpClient,其次也是为了帮助OkHttp的推广啦。
rsa-encrypt-body-spring-boot【接口加密】
gitee地址:https://gitee.com/ishuibo/rsa-encrypt-body-spring-boot
Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密 。
kaptcha-spring-boot-starter【验证码】
gitee地址:https://gitee.com/baomidou/kaptcha-spring-boot-starter
简单快速集成 Google Kaptcha验证码
mybatis-dsc-generator【代码生成器】
gitee地址:https://gitee.com/flying-cattle/mybatis-dsc-generator
完美集成lombok,swagger的代码生成工具,让你不再为繁琐的注释和简单的接口实现而烦恼:entity集成,格式校验,swagger; dao自动加@ mapper,service自动注释和依赖; 控制器实现单表的增副改查,并集成swagger实现api文档。如果有缘看见,期望得到你的star,very thx.
QRext4j【二维码生成器】
gitee地址:https://gitee.com/iherus/qrext4j
一个简单易用的二维码生成器,可以自定义二维码颜色和码眼的样式。
ExcelUtil【Excel读取】
gitee地址:https://gitee.com/likaixuan0/ExcelUtil
ExcelUtil借助反射和POI对Excel读取,省略了以往读取Excel的繁琐步骤,调用ExcelUtil只需要2步,对,你没有看错,2步足以读取到Excel的内容.兼容03/07版Excel.
Happy Captcha【验证码】
gitee地址:https://gitee.com/ramostear/Happy-Captcha
Happy Captcha是一款易于使用的Java验证码软件包,旨在花最短的时间,最少的代码量,实现Web站点的验证码功能
slf4j-spring-boot-starter【日志】
gitee地址:https://gitee.com/xsxgit/slf4j-spring-boot-starter
一个注解搞定日志的组件,减少到处编写日志的烦恼,还可定位代码哟
qr-codeJava【Java二维码类库】
gitee地址:https://gitee.com/chenshaojian/qr-code
1. 普通二维码(黑白码)生成。 2. 带Logo的二维码生成。 3. 带动画Logo的二维码生成。 4. 彩色二维码(设置前景色和背景色)生成。 5. 可在边框上设置文字说明的二维码。 6. 以图形做背景生成特效二维码。 7. 对图形二维码进行解码,读取内容。 。
更多前端插件:https://juejin.cn/post/6844903683411410951