(对标 Spring)OpenSolon v3.7.0, v3.6.4, v3.5.8, v3.4.8 发布(支持 LTS)

Solon 框架!(也称 OpenSolon)

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 (第三方知名测试平台)测试数据:

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

v3.7.0 更新说明

更多兼容性说明参考:《Solon v3.7 更新与兼容说明》

  • 升级 snack3 切换为 snack4
  • 新增 solon-config-snack3 插件
  • 新增 solon-config-snack4 插件
  • 添加 solon preStop 方法名(替代 prestop),后者标为弃用。两者都可用
  • 添加 solon Router:addPathPrefix(path, tester) 方法
  • 添加 solon Context:localPort() 方法
  • 添加 solon-server-smarthttp 有 tomcat 时的启动控制
  • 优化 solon-web-staticfiles StaticResourceHandler 的 Cache-Control 处理(允许外部设定并优先)
  • 优化 solon-ai-core ToolSchemaUtil:paramOf 方法,增加泛型支持
  • 优化 solon-ai-core ToolSchemaUtil:outputSchema 泛型处理
  • 调整 solon-config-plus 标为弃用,由 solon-config-snack3 或 solon-config-snack4 替代
  • 调整 solon-net WebSocket:remoteAddress, localAddress 移除 throws IOException
  • 调整 solon ActionLoader, ActionLoaderFactory 内部接口设计
  • 调整 solon RouterWrapper 标为弃用,功能转到 Router 接口上
  • 调整 solon ChainManager:addInterceptor (内部接口)更名为 addRouterInterceptor 强化语义
  • 调整 solon 不再对 remoting 注册作 mapping 限制(改成跟控制器一样的策略)
  • 调整 solon Router:getBy 更名为 findBy (前者标为弃用),避免下 get 疑似冲突
  • 调整 solon-server 允许不输出 content-type
  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • 移除 solon.xxx 和 nami.xxx 风格的发布包
  • 启用 eggg 作为类元信息构建机制
  • redisx 升为 1.8.2(snack3 切换为 snack4)
  • snack4 升为 4.0.8
  • wood 升为 1.4.2
  • log4j 升为 2.25.2
  • logback 升为 1.3.16
  • micrometer 升为 1.15.5
  • opentelemetry 升为 1.55.0
  • undertow 升为 2.2.38.Final
  • socketd 升为 2.5.20
  • smartsocket 升为 1.7.4
  • smarthttp 升为 2.5.16
快捷组合包 调整情况
solon-lib 使用 solon-config-snack4 替代 solon-config-snack3
solon-web 使用 solon-serialization-snack4 替代 solon-serialization-snack3

v3.6.4 更新说明

  • 优化 solon-server 不再默认输出 TEXT_PLAIN_UTF8_VALUE(允许空 content-type)
  • 优化 solon-handle Action 默认为 TEXT_PLAIN_UTF8_VALUE
  • 优化 solon-ai-mcp 取消 request.contentType("") 设置
  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • smart-http 升为 2.5.14-r2
  • snack4 升为 4.0.7

v3.5.8 更新说明

  • 优化 solon-server 不再默认输出 TEXT_PLAIN_UTF8_VALUE(允许空 content-type)
  • 优化 solon-handle Action 默认为 TEXT_PLAIN_UTF8_VALUE
  • 优化 solon-ai-mcp 取消 request.contentType("") 设置
  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)
  • 修复 solon-ai-mcp 可能出现 Unknown media type 错误(取消 request.contentType 空设置)
  • smart-http 升为 2.5.14-r2

v3.4.8 更新说明

  • 修复 solon-ai parseToolCall 接收 stream 中间消息时可能会异常(添加 hasNestedJsonBlock 检测)

项目仓库地址?

官网?

相关推荐
非优秀程序员7 小时前
第07章 孙德良的阳谋|《互联网产品恩仇录》
javascript·后端
非优秀程序员7 小时前
第06章 浙江帮的内战|《互联网产品恩仇录》
后端
非优秀程序员7 小时前
第08章 马云的反击|《互联网产品恩仇录》
后端
非优秀程序员7 小时前
题记|《互联网产品恩仇录》
后端·程序员·创业
非优秀程序员7 小时前
第04章 邮箱大战,163 与 QQ 的暗战|《互联网产品恩仇录》
java·vue.js·架构
知已难寻8 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
文丑颜不良啊10 小时前
LeetCode2481~2500题目解析
java·leetcode
Flynn Liang11 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope
Gopher_HBo11 小时前
Go CPU 剖析的"地基":信号、CAS、写屏障、无锁环形缓冲
后端
panbook11 小时前
从0到1实现一个分布式时序数据库(二):写入成功之后,如何用 WAL 找回数据
后端