Solon 框架!(也称 OponSolon)

Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是“杭州无耳科技有限公司”开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。

  • 追求: 快速、小巧、简洁
  • 提倡: 克制、高效、开放

7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。

同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容):

  • java8, java11, java17, java21, java25

有什么特点(相对 Java Spring 方案)?

Solon 对国产算力非常友好,对 cpu 和 memory 的需求远低于同类方案。

特点 描述
更高的计算性价比 并发高 700%;内存省 50%
更快的开发效率 代码少;入门简单;启动(或调试重启)快 10倍
更好的生产与部署体验 打包小 90%
更大的兼容范围 非 java-ee 架构;同时支持 java8 ~ java25,graalvm native image

最新的 techempower (第三方知名测试平台)测试数据:

  • https://www.techempower.com/benchmarks/#hw=ph&test=json§ion=data-r23
  • https://www.techempower.com/benchmarks/#hw=ph&test=plaintext§ion=data-r23

项目架构示意图(全场景应用开发支持)

v3.7.2 更新说明

  • 引入 jspecify 的 @Nullable,@NonNull 注解
  • 新增 resilience4j-solon-cloud-plugin 插件
  • 新增 solon-cloud-gateway websocket 协议代理支持
  • 新增 solon 启动扫描类索引机制(由 solon aot 构建时自动生成)
  • 新增 aot 构建配置(在 native 基础上去除 graalvm.buildtools),任意 jdk 版本可用
  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 添加 solon 启动资源索引机制(通过 aot 实现)
  • 添加 solon-rx Completable:doOnErrorResume 方法
  • 添加 solon-rx Completable:subscribeOn, delay 方法,方便同步io对接
  • 添加 solon-net WebSocket:colse(code,reason) 方法及相关适配
  • 添加 solon-net-httputils HttpResponse:headerMap 方法
  • 添加 solon-data solon.dataSources 的配置提示
  • 添加 solon-web-staticfiles solon.mime.mapping 配置支持(将替代 solon.mime)
  • 优化 solon 路由匹配规则,原3个优先级升为5优先级(更细)
  • 优化 solon AppContext:beanScan 改为先加载再分批处理(确保配置类先处理)
  • 优化 solon AppContext:startInjectReview 去掉 stream 写法(减少中转,提升性能)
  • 优化 solon-logging 初始化处理,避免二次加载文件配置
  • 优化 solon 启动性能(提升 10% 到 30%)
  • 优化 solon-serve-vertx websocket 适配,避免与 solon-cloud-gateway 的 ws 代理起冲突
  • 调整 solon 编译配置荐 maven.compiler.source,target 改为 release
  • 调整 solon-serve-vertx 去除内部对象 VertxHolder(没地方用到了)
  • 调整 solon-serialization AbstractStringEntityConverter string 类型直接输出(不序列化)
  • 调整 solon ChainManager:getInterceptorNodes,addInterceptor,addInterceptorIfAbsent,removeInterceptor 恢复旧方法并标为弃用
  • 修复 nami-coder-snack4 插件元数据配置失效问题(v3.7.0 出现的)
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • eggg 升为 1.0.8
  • snack4 升为 4.0.14

v3.6.5 更新说明

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • snack4 升为 4.0.14

v3.5.9 更新说明

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题

项目仓库地址?

官网?

更多推荐