Solon 框架!
Solon 是新一代,Java 企業級應用開發框架。從零開始構建(No Java-EE),有靈活的接口規范與開放生態。采用商用友好的 Apache 2.0 開源協議,是“杭州無耳科技有限公司”開源的根級項目,是 Java 應用開發的生態基座(可替換 Spring 生態)。
- 追求: 快速、小巧、簡潔
- 提倡: 克制、高效、開放
7年開源時長,累計代碼提交1.6萬次 ,近半年下載量1200萬次。
- 有透明可預期的《版本發布與維護計劃》
- 有“【社區交流】”和“【商業服務】”雙重技術支持
有什么特點(相對 Java Spring 方案)?
特點 | 描述 |
---|---|
更高的計算性價比 | 并發高 700%;內存省 50% |
更快的開發效率 | 代碼少;入門簡單;啟動快 10 倍(調試快) |
更好的生產與部署體驗 | 打包小 90% |
更大的兼容范圍 | 非 java-ee 架構;同時支持 java8 ~ java24,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
項目架構示意圖(全場景應用開發支持)

最近更新了什么?(每個版本都會有滿滿的清單)
Solon 快如閃電!智也非凡!從 v3.1 起,提供完整的 AI 應用開發支持(Solon AI 同時支持 java8 到 java24)。
- 新增 solon-ai-repo-dashvector 插件
- 新增 seata-solon-plugin 插件
- 新增 solon-data Ds 注解(為統一數據源注入作準備)
- 插件 solon-ai 三次預覽
- 插件 solon-ai-mcp 二次預覽
- 調整 solon Cookie,Header,Param 的
required
默認改為 true (便與 mcp 復用) - 調整 solon-ai 移除 ToolParam 注解,改用
Param
注解(通用參數注解) - 調整 solon-ai ToolMapping 注解移到
org.noear.solon.ai.annotation
- 調整 solon-ai FunctionToolDesc:param 改為
paramAdd
風格 - 調整 solon-ai MethodToolProvider 取消對 Mapping 注解的支持(利于跨生態體驗的統一性)
- 調整 solon-ai-mcp McpClientToolProvider 更名為 McpClientProvider(實現的接口變多了))
- 優化 solon-ai 拆分為 solon-ai-core 和 solon-ai-model-dialects(方便適配與擴展)
- 優化 solon-ai 模型方言改為插件擴展方式
- 優化 nami 的編碼處理
- 優化 nami-channel-http HttpChannel 表單提交時增加集合參數支持(自動拆解為多參數)
- 優化 solon Param 注解,添加字段支持
- 優化 solon 允許 MethodWrap 沒有上下文的用況
- 優化 solon-web-sse 邊界,允許 SseEmitter 未提交之前就可 complete
- 優化 solon-serialization JsonPropsUtil.apply 分解成本個方法,按需選擇
- 優化 solon-ai 允許 MethodFunctionTool,MethodFunctionPrompt,MethodFunctionResource 沒有 solon 上下文的用況
- 優化 solon-ai-core
model.options(o->{})
可多次調用 - 優化 solon-ai-mcp McpClientProvider 同時實現 ResourceProvider, PromptProvider 接口
- 優化 solon-ai-repo-redis metadataIndexFields 更名為
metadataFields
(原名標為棄用) - 添加 nami NamiParam 注解支持
- 添加 nami 文件(
UploadedFile
或File
)上傳支持 - 添加 nami 對 solon Mapping 相關注解的支持
- 添加 nami 自動識別 File 或 UploadedFile 參數類型,并自動轉為 FORM_DATA 提交
- 添加 solon Mapping:headers 屬性(用于支持 Nami 用況)
- 添加 solon Body:description,Param:description,Header:description,Cookie:description 屬性(用于支持 MCP 用況)
- 添加 solon UploadedFile 基于 File 構造方法
- 添加 solon-net-httputils HttpUtilsBuilder:proxy 方法(設置代理)
- 添加 solon-net-httputils HttpProxy 類
- 添加 solon-ai-core ChatSubscriberProxy 用于控制外部訂閱者,只觸發一次 onSubscribe
- 添加 solon-ai-mcp McpClientProperties:httpProxy 配置
- 添加 solon-ai-mcp McpClientToolProvider isStarted 狀態位(把心跳開始,轉為第一次調用這后)
- 添加 solon-ai-mcp McpClientToolProvider:readResourceAsText,readResource,getPromptAsMessages,getPrompt 方法
- 添加 solon-ai-mcp McpServerEndpointProvider:getVersion,getChannel,getSseEndpoint,getTools,getServer 方法
- 添加 solon-ai-mcp McpServerEndpointProvider:addResource,addPrompt 方法
- 添加 solon-ai-mcp McpServerEndpointProvider:Builder:channel 方法
- 添加 solon-ai-mcp ResourceMapping 和 PromptMapping 注解(支持資源與提示語服務)
- 添加 solon-ai-mcp McpServerEndpoint AOP 支持(可支持 solono auth 注解鑒權)
- 添加 solon-ai-mcp McpServerEndpoint 實體參數支持(可支持 solon web 的實體參數、注解相通)
- 添加 solon-ai-mpc
Tool.returnDirect
屬性透傳(前后端都有 solon-ai 時有效,目前還不是規范) - 修復 solon 由泛型橋接方法引起的泛型失真問題
- 修復 solon Utils.getFile 在 window 下絕對位置失效的問題
- 修復 solon-net-httputils OkHttpUtils 不支持 post 空提交的問題
- 修復 nami-channel-http 不支持 post 空提交的問題
- 修復 solon-serialization-fastjson2 在配置全局時間格式化后,個人注解格式化會失效的問題
- 修復 solon Utils.getFile 在 window 下絕對位置失效的問題
- snack3 升為 3.2.133
- dbvisitor 升為 6.0.0
- sa-token 升為 1.42.0
- mybatis-flex 升為 1.10.9
- smart-http 升為 2.5.10
項目倉庫地址?
- gitee:https://gitee.com/opensolon/solon
- gitcode: https://gitcode.com/opensolon/solon
- github:https://github.com/opensolon/solon
官網?
- https://solon.noear.org