Solon 框架!(也称 OpenSolon)
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.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 检测)
项目仓库地址?
- gitee:https://gitee.com/opensolon/solon
- gitcode: https://gitcode.com/opensolon/solon
- github:https://github.com/opensolon/solon