尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Solon v3.4.6, v3.5.4, v3.6.0-M1 发布。正式开始 LTS 计划

Solon v3.4.6, v3.5.4, v3.6.0-M1 发布。正式开始 LTS 计划
📅 发布时间:2026/6/19 23:48:08
Solon 是新一代 Java 企业级应用开发框架,采用 Apache 2.0 开源协议。相比 Spring,Solon 在计算性价比、开发效率、生产部署等方面优势明显,并发性能提升 700%,内存节省 50%,启动速度快 10 倍,同时兼容 Java 8-25 和 GraalVM。提供透明版本支持计划和双重技术支持,适合国产算力环境,是企业级应用开发的理想选

Solon 框架!

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

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

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

  • 有透明可预期的《版本发布与长期支持计划(LTS)》
  • 有“【社区交流】”和“【企业服务】”双重技术支持

同时支持运行时环境(不基于 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.6.0-M1 更新说明

  • 新增 solon-server-grizzly 插件
  • 新增 solon-server-grizzly-add-webscoket 插件
  • 新增 solon-server-jetty-jakarta 插件(基于 jetty12 适配)
  • 新增 solon-server-jetty-add-jsp-jakarta 插件(基于 jetty12 适配)
  • 新增 solon-server-jetty-add-websocket-jakarta 插件(基于 jetty12 适配)
  • 调整 solon-serialization-* 弱化 ActionExecuteHandler, Render 的定制,改为 XxxxSerializer 对外定制
  • 调整 solon LogIncubator 接口迁移到内核,由内核控制加载时机(权重提高)
  • 调整 solon EntityConverter 接口(替代 Render 和 ActionExecuteHandler 接口)
  • 引入 slf4j-api 替代 solon 内的 LogUtil(减少中转代码)
  • 引入 solon-expression 替代 solon 内的模板表达式工具(仍可使用)
  • 添加 solon Condition:onExpression(采用 SnEL 表达式)用于替代 onProperty(标为弃用)
  • 添加 solon SnelUtil(基于 SnEL 且兼容旧的 TmplUtil) 替代 TmplUtil(标为弃用)//如果有 # 则为新表达式
  • 添加 solon-mvc List<UploadedFile> 注入支持(用 UploadedFile[] 性能更好)
  • 添加 solon-server server.request.fileSizeThreshold 配置支持
  • 添加 solon converters,serializers,renders,factories,chains(简化名自:converterManager,serializerManager,renderManager,factoryManager,chainManager)
  • snakeyaml 升为 2.5
  • lombok 升为 1.18.42
  • jansi 升为 2.4.2
  • guava 升为 33.4.8-jre
  • log4j 升为 2.25.1
  • fury 升为 0.10.3
  • reactor-core 升为 3.7.4
  • graalvm.buildtools 升为 0.11.0

示例:

@Managed
public class SerializerDemo {//ps: 这前需要使用 Fastjson2RenderFactory, Fastjson2ActionExecutor 两个对象,且表意不清晰 //(仍可使用)@Managedpublic void config(Fastjson2StringSerializer serializer) {//序列化(输出用)serializer.addEncoder(Date.class, s -> s.getTime());serializer.addEncoder(Date.class, (out, obj, o1, type, i) -> {out.writeInt64(((Date) obj).getTime());});serializer.getSerializeConfig().addFeatures(JSONWriter.Feature.WriteMapNullValue); //添加特性serializer.getSerializeConfig().removeFeatures(JSONWriter.Feature.BrowserCompatible); //移除特性serializer.getSerializeConfig().setFeatures(JSONWriter.Feature.BrowserCompatible); //重设特性//反序列化(收接用)serializer.getDeserializeConfig().addFeatures(JSONReader.Feature.Base64StringAsByteArray);}
}@Managed
public class ConditionDemo(){//ps: 之前是用 onProperty(功能有限,不够体系化) //(仍可使用)@Condition(onExpression = "${demo.level:1} == '1'") //SnEL 求值表达式@Managedpublic void ifDemoLevel1ThenRun(){System.out.println("hi!");}
}@Managed
public class SnelDemo {//ps: 之前基于 TmplUtil 实现(功能有限,不够体系化) //(仍可使用)@Cache(key = "oath_#{code}", seconds = 10) //SnEL 模板表达式(通过 SnelUtil 实现新旧兼容)public Oauth queryInfoByCode(String code) {return new Oauth(code, LocalDateTime.now());}@CachePut(keys = "oath_#{result.code}") //(result 为返回结果)public Oauth updateInfo(Oauth oauth) {return oauth;}@CacheRemove(keys = "oath_#{oauth.code}")public void removeInfo(Oauth oauth) {}
}

v3.5.4 更新说明

  • 优化 solon-test @SolonTest 支持非 solon 的 main 程序单测启动
  • 优化 solon-rx 确保 SimpleSubscriber:doOnComplete 只被运行一次(之前可能会被外部触发多次)
  • 优化 solon-rx SimpleSubscriber 改为流控模式(只请求1,之前请求 max)//所有相关的都要测试
  • 优化 solon-net-httputils 确保 TextStreamUtil:onSseStreamRequestDo 只会有一次触发 onComplete
  • 优化 solon-web-rx RxSubscriberImpl 改为流控模式(只请求1,之前请求 max)//所有相关的都要测试
  • 优化 solon-net-httputils sse 与背压处理的兼容性
  • 修复 solon-net-httputils JdkHttpResponse:contentEncoding 不能获取 charset 的问题(并更名为 contentCharset,原名标为弃用)
  • 修复 solon-docs-openapi2 ApiModel 中使用 UploadedFile 类型是解析报错的问题

v3.4.6 更新说明

  • 优化 solon-test @SolonTest 支持非 solon 的 main 程序单测启动
  • 优化 solon-rx 确保 SimpleSubscriber:doOnComplete 只被运行一次(之前可能会被外部触发多次)
  • 优化 solon-rx SimpleSubscriber 改为流控模式(只请求1,之前请求 max)//所有相关的都要测试
  • 优化 solon-net-httputils 确保 TextStreamUtil:onSseStreamRequestDo 只会有一次触发 onComplete
  • 优化 solon-web-rx RxSubscriberImpl 改为流控模式(只请求1,之前请求 max)//所有相关的都要测试
  • 优化 solon-net-httputils sse 与背压处理的兼容性
  • 修复 solon-net-httputils JdkHttpResponse:contentEncoding 不能获取 charset 的问题(并更名为 contentCharset,原名标为弃用)
  • 修复 solon-docs-openapi2 ApiModel 中使用 UploadedFile 类型是解析报错的问题

项目仓库地址?

  • gitee:https://gitee.com/opensolon/solon
  • gitcode: https://gitcode.com/opensolon/solon
  • github:https://github.com/opensolon/solon

官网?

  • https://solon.noear.org

相关新闻

  • 串口通信、阻塞与非阻塞、qt
  • 破解 Java 系统 AI 化难题:JBoltAI 框架自带 RAG、Function Calling 核心功能
  • CF1706E Qpwoeirut and Vertices

最新新闻

  • 告别叛逆网瘾!2026 东营十大权威特训学校盘点,20 年经验 + 全封闭管理,帮孩子重回正轨 - 辛云教育资讯
  • 巧用自定义协议:将RTSP流无缝接入NVR并模拟GB28181通道
  • 保安赶走避雨母子,店家道歉够吗?3个追问直击核心
  • VScode调试按钮神秘消失?深入剖析C/C++插件IntelliSense Engine与setting.json的同步陷阱
  • 合肥理工学校招生电话多少?2026年6月21号最新发布! - 教育为先
  • 终极智能工具箱:League Akari 重新定义英雄联盟游戏体验

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号