好用的开源框架收集

idgenerator

链接: idgenerator

算法介绍
❄ 这是优化的雪花算法(雪花漂移),它生成的ID更短、速度更快。

❄ 支持 k8s 等容器环境自动扩容(自动注册 WorkerId),可在单机或分布式环境生成数字型唯一ID。

❄ 原生支持 C#/Java/Go/C/Rust/Python/Node.js/PHP(C扩展)/SQL/ 等语言,并提供多线程安全调用动态库(FFI)。

❄ 兼容所有雪花算法(号段模式或经典模式,大厂或小厂),将来你可做任意的升级切换。

❄ 这是计算机历史上最全面的雪花ID生成工具。【截至2022年8月】

sa-token

链接: sa-token

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。

Sa-Token 旨在以简单、优雅的方式完成系统的权限认证部分

LiteFlow

链接: LiteFlow

如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个编排式的规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件。

利用LiteFlow,你可以将瀑布流式的代码,转变成以组件为核心概念的代码结构,这种结构的好处是可以任意编排,组件与组件之间是解耦的,组件可以用脚本来定义,组件之间的流转全靠规则来驱动。LiteFlow拥有开源规则引擎最为简单的DSL语法。十分钟就可上手。

在这里插入图片描述

组件可实时热更替,也可以给编排好的逻辑流里实时增加一个组件,从而改变你的业务逻辑。

在这里插入图片描述

LiteFlow的脚本组件,支持众多脚本语言,完全和Java打通,你可以用脚本来实现任何逻辑。

LiteFlow支持把编排规则和脚本放在数据库,注册中心中,还有可以任意扩展的接口,方便你定制。

我们的编排语法强大到可以编排出任何你想要的逻辑流程,你有想过,要在代码中实现下面这种复杂逻辑流程该如何实现吗?

例如:

图示
在这里插入图片描述
同时要保证所有组件都是灵活可变的。

我相信肯定有人能实现,但是是需要付出一定的开发成本的。

而以上这一切,利用LiteFlow,轻而易举,你立马唾手可得!

Magic-api

链接: magic-api
magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发

优势

  • 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等支持jdbc规范的数据库
  • 支持非关系型数据库Redis、Mongodb
  • 支持集群部署、接口自动同步。
  • 支持分页查询以及自定义分页查询
  • 支持多数据源配置,支持在线配置数据源
  • 支持SQL缓存,以及自定义SQL缓存
  • 支持自定义JSON结果、自定义分页结果
  • 支持对接口权限配置、拦截器等功能
  • 支持运行时动态修改数据源
  • 支持Swagger接口文档生成
  • 基于magic-script脚本引擎,动态编译,无需重启,实时发布
  • 支持Linq式查询,关联、转换更简单
  • 支持数据库事务、SQL支持拼接,占位符,判断等语法
  • 支持文件上传、下载、输出图片
  • 支持脚本历史版本对比与恢复
  • 支持脚本代码自动提示、参数提示、悬浮提示、错误提示
  • 支持导入Spring中的Bean、Java中的类
  • 支持在线调试
  • 支持自定义工具类、自定义模块包、自定义类型扩展、自定义方言、自定义列名转换等自定义操作

forest 轻量级 HTTP 客户端

链接: forest
Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL、Header 以及 Body 等信息)绑定到您自定义的 Interface 方法上,能够通过调用本地接口方法的方式发送 HTTP 请求。
Forest 不需要您编写具体的 HTTP 调用过程,只需要您定义一个接口,然后通过 Forest 注解将 HTTP 请求的信息添加到接口的方法上即可。请求发送方通过调用您定义的接口便能自动发送请求和接受请求的响应。

RPC框架

https://gitee.com/dromara/koalas-rpc?_from=gitee_search#%E5%AE%9E%E9%99%85%E6%80%A7%E8%83%BD%E5%8E%8B%E6%B5%8B

javaFx框架

https://gitee.com/lwdillon/fx-falsework?_from=gitee_search

流媒体

https://gitee.com/xia-chu/ZLMediaKit?_from=gitee_search

AviatorScript 引擎是轻量级的高效的表达式计算引擎

链接: AviatorScript 引擎中文文档

链接: AviatorScript 引擎github地址

链接: Aviator介绍

Aviator是一个高性能、轻量级的 java 语言实现的表达式求值引擎.

其他轻量级的求值器一般都是通过解释的方式运行, 而Aviator则是直接将表达式编译成 JVM 字节码, 交给 JVM 去执行。

aviator特性

  • 支持绝大多数运算操作符,包括算术操作符、关系运算符、逻辑操作符、位运算符、正则匹配操作符(=~)、三元表达式;
  • 支持操作符优先级和括号强制设定优先级;
  • 逻辑运算符支持短路运算;
  • 支持丰富类型,例如nil、整数和浮点数、字符串、正则表达式、日期、变量等,支持自动类型转换;
  • 内置一套强大的常用函数库;
  • 可自定义函数,易于扩展;
  • 可重载操作符;
  • 支持大数运算(BigInteger)和高精度运算(BigDecimal);
  • 性能优秀。

cola架构

链接: cola

状态机

动态线程池

链接: dynamic-tp
基于配置中心的轻量级动态线程池,内置监控告警功能,集成常用中间件线程池管理,可通过SPI自定义扩展实现
基于以上背景分析,我们对线程池 ThreadPoolExecutor 做一些扩展增强,主要实现以下目标

  • 实现对运行中线程池参数的动态修改,实时生效

  • 实时监控线程池的运行状态,触发设置的报警策略时报警,报警信息推送办公平台

  • 定时采集线程池指标数据,配合像 Grafana 这种可视化监控平台做大盘监控

Luckysheet 在线excel

链接: LuckysheetDocs

链接: LuckysheetServer

链接: luckysheet-server

京东零售并行框架asyncTool

链接: asyncTool

解决任意的多线程并行、串行、阻塞、依赖、回调的并发框架,可以任意组合各线程的执行顺序,带全链路回调和超时控制。

其中的A、B、C分别是一个最小执行单元(worker),可以是一段耗时代码、一次Rpc调用等,不局限于你做什么。

该框架可以将这些worker,按照你想要的各种执行顺序,加以组合编排。最终得到结果。

并且,该框架 为每一个worker都提供了执行结果的回调和执行失败后自定义默认值 。譬如A执行完毕后,A的监听器会收到回调,带着A的执行结果(成功、超时、异常)。

根据你的需求,将各个执行单元组合完毕后,开始在主线程执行并阻塞,直到最后一个执行完毕。并且 可以设置全组的超时时间 。

该框架支持后面的执行单元以前面的执行单元的结果为自己的入参 。譬如你的执行单元B的入参是ResultA,ResultA就是A的执行结果,那也可以支持。在编排时,就可以预先设定B或C的入参为A的result,即便此时A尚未开始执行。当A执行完毕后,自然会把结果传递到B的入参去。

easyexcel

github链接: easyexcel
github链接: Easy Excel官方文档
链接: 实战技术针对于项目中常用的 Excel 操作指南
链接: JAVA连接Excel最好用的开源项目EasyExcel,官方使用文档及.jar包下载

Poi-tl

Word模板引擎,基于Apache POI,提供更友好的API
低代码,准备文档模板和数据即可
链接: Poi-tl.
链接: Poi-tl github地址.

easypoi

链接: easypoi-easypoi-excel和-word简易工具类

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值