高考25年忆往昔:Solon v4.0发布,做减法、跟协议、清生态助力国产框架成长

高考25年忆往昔,Solon v4.0发布:做减法、跟协议、清生态,国产框架再成长

前几天高考刚过,朋友圈里又是一年一度的“晒准考证”。看着那些十八岁的脸,我忽然想起,自己已经是2001年那一届的人了。

掐指一算,整整二十五年。

我们那会儿,高考还在七月。后来2003年才改到六月,所以“黑色七月”这个词,是属于我们这代人的专属记忆。七月的太阳是真的毒,教室房顶吊着的电扇吱呀吱呀地转,转出来的全是热风;窗外的蝉叫得人心慌,老师反复叮嘱“涂答题卡别涂错行”,握笔的手心全是汗,草稿纸都被洇湿了一角。当时我还是住在一个县里的远房亲戚家。

现在回头看,高考其实没那么决定命运。它只是人生里第一次“独自面对一件大事”的演练。真正塑造一个人的,是那之后日复一日的选择、坚持和打磨。

写代码、做开源,也是一样的道理。就在这个时间点,Solon v4.0正式发布了。

Solon框架!

Java“新式”应用开发框架,2017~2026。从零开始构建(非java - ee架构),有灵活的接口规范与开放生态。

  • 追求:更快、更小、更简单
  • 提倡:克制、简洁、高效、开放、生态
  • 官网:[https://solon.noear.org](https://solon.noear.org/)

由杭州无耳科技(Noear团队)开发并开源,遵循Apache 2.0协议。

有什么特点?

特点描述 (相对于Srping生态)
更高的计算性价比并发高300%;内存省50%
更快的开发效率代码少;入门快;调试重启快10倍
更好的生产与部署体验打包小90%
更大的兼容范围非java - ee架构;同时支持Java 8~Java 25,GraalVM Native Image

用纪年标记成长

如果把一个开源框架的成长比作一个人的成长,那Solon现在差不多也到了“成年”的年纪。我们用纪年来标记它走过的路:

大版本时间跨度阶段
v02018 ~ 2019(约2年)萌芽
v12020 ~ 2022(约3年)打基础
v22023 ~ 2024(约2年)成体系
v32024 ~ 2026(约1.5年)全面铺开
v42026 ~新篇章

从2018年第一行代码到今天,近40万行代码(其中Solon AI体系,就占了近18万)。Solon从一个“想做个更轻的Java框架”的念头,长成了覆盖Web、Data、AI、Cloud、安全、编排全场景,拥有300 + 生态插件的应用开发框架。这条路不算快,但每一步都走得踏实 ---- 就像高考之后的人生,不靠一次爆发,靠的是持续的复利。

更新与兼容说明

1、概述

先说一句让大家安心的话:v4.0总体变化不大,主要是“做减法”。

这次大版本升级的核心思路,是移除历史包袱 ---- 把那些早就标记为弃用的方法和类彻底清理掉,让框架更干净、更轻。这恰恰呼应了Solon一贯的“克制”哲学:不是不断往上堆东西,而是敢于把不该留的东西删掉。

唯一变化较大的,是Solon AI体系 ---- 我们把`skill`概念正式改为了`talent`。

2、v3.x升到v4.x提醒(要认真核对)
  • 提醒一:之前没用过弃用接口的,可以直接升级到v4.0.0。
  • 提醒二:用过弃用接口的,建议先升级到3.10.7,借助编译器提醒把弃用代码替换干净后,再升级到4.0.0。这样过渡最平滑。

完整的弃用对照表(配置 / 插件 / 注解 / 类与方法),在官方更新说明里都列得清清楚楚,升级前认真核对一遍即可。

3、AI体系:从skill到talent

这是v4.0最值得说的一处变更。

之前Solon AI里用`skill`(技能)来描述给智能体扩展能力的机制。但随着Agent(智能体)生态发展,业界普遍用 “agent skill” 来指代另一类东西,两者撞名了,容易让人困惑。

所以我们把这个概念统一改名为`talent`(才能)。一字之差,消除歧义。对应的插件与类整体更名:

  • `solon - ai - skill - *` -> `solon - ai - talent - *`
  • `WebfetchTool` / `WebsearchTool` / `CodeSearchTool` -> `WebfetchTalent` / `WebsearchTalent` / `CodeSearchTalent`
  • `ApplyDiffTool` / `ApplyPatchTool` -> `ApplyDiffTalent` / `ApplyPatchTalent`
  • 新增`solon - ai - talent - gateway`(由原`solon - ai - skill - restapi`和`solon - ai - skill - toolgateway`合并而来)
  • 新增`solon - ai - talent - mount`才能插件(原PoolManager独立出来)

如果你之前用的是`solon - ai - skill - *`,升级时把坐标换成`solon - ai - talent - *`即可。

4、AI生态:跟上协议,补齐能力

AI这一年跑得太快了,v4.0在协议和能力上做了不少跟进:

  • 新增 `mcp - core`:替换之前的`mcp - sdk`,与官方命名保持一致(`mcp - sdk`已移除)。
  • 新增 `solon - ai - sandbox`:为智能体提供沙盒隔离能力。
  • MCP协议升级:`solon - ai - mcp`支持`MCP_2025_11_25`协议,并支持`ServerTransportSecurityValidator`签权。
  • ReActAgent增强:`maxSteps`更名为`maxTurns`(贴合行业习惯);新增`getModel`方法;拦截器新增`onReasonStart`事件,`onReason`相应更名为`onReasonEnd`(凑成一对)。
  • 上下文压缩优化:`SummarizationInterceptor`更名为更贴切的`ContextCompressionInterceptor`,并优化了压缩时机(从onObservation改到onReasonStart)和算法,增强了对过期区tool - use原子序列的追溯保护。
  • TeamAgent:新增“初心标记”,让多智能体协作时不容易跑偏。
  • MCP客户端:`McpClientProvider`新增`allowedTools` / `disallowedTools`工具控制机制;默认不再启用心跳(之前默认30秒一次);`McpProviders`更名为`McpClientProviders`。

这些改动,都是我们在真实的Agent开发里踩过坑之后做的回调。

5、生态规范化:插件“回家”

v4.0做了一件长期来看很重要的事 ---- 让一批第三方插件回归各自官方仓库维护。

过去为了方便,早先一批第三方库的Solon适配是由我们社区维护的。但更健康的方式,是由库的官方团队自己维护适配。这次梳理后,下面这些插件都迁回了官方坐标(升级时需要调整groupId):

旧坐标(已移除)新坐标(官方维护)
`mybatis - plus - solon - plugin``com.baomidou:mybatis - plus - solon - plugin`
`mybatis - flex - solon - plugin``com.mybatis - flex:mybatis - flex - solon - plugin`
`sa - token - solon - plugin``cn.dev33:sa - token - solon - plugin`
`liteflow - solon - plugin``com.yomahub:liteflow - solon - plugin`
`forest - solon - plugin``com.dtflys.forest:forest - solon - plugin`
`sms4j - solon - plugin``org.dromara.sms4j:sms4j - solon - plugin`
`dbvisitor - solon - plugin``net.hasor:dbvisitor - solon`
`bean - searcher - solon - plugin``cn.zhxu:bean - searcher - solon - plugin`

(完整对照表见官方更新说明,这里只列了常用的几个。)

这件事短期会给升级带来一点点麻烦,但长期看,它让整个生态的协作关系更清晰、更可持续。一个框架走到v4,要考虑的已经不只是自己跑得多快,而是整个生态能不能一起走远。

6、弃用清理:该删的删

v4.0移除了大量历史弃用项,主要集中在几个方面,升级时编译器会给出提醒,按提示替换即可。挑几个高频的说:

注解层面:

  • `@Bean(priority)` -> `@Condition(priority)`
  • `@Bean(injected)` -> `@Bean(autoInject)`
  • `@Tran` -> `@Transaction`

API层面:

  • `SolonApp`的路由方法(`add*` / `get*` / `post*` / `filter*`等)统一收敛到`SolonApp.router()`下,例如`app.get(...)` -> `app.router().get(...)`。
  • `Utils.async*` -> `RunUtil.async*`
  • `ChatMessage.template()` -> `ChatMessage.ofUserTmpl()`、`ChatMessage.augment()` -> `ChatMessage.ofUserAugment()`

配置层面(举例):

移除配置替代配置
`server.session.state.domain``server.session.cookieDomain`
`solon.staticfiles.maxAge``solon.staticfiles.cacheMaxAge`
`solon.cloud.nacos2.*``solon.cloud.nacos.*`

清理后,框架内核继续保持着它一贯的“克制身材”。

7、依赖升级:跟上上游

v4.0同步升级了一大批底层依赖,让框架始终站在稳定且较新的基础之上。挑几个代表性的:

  • Socket.D升至2.6.0、FolkMQ升至1.8.0
  • snack4升至4.0.52、liquor升至1.6.8、eggg升至1.1.3
  • Netty升至4.1.134.Final、reactor - netty升至1.3.5
  • Jackson2升至2.21.4、fastjson2升至2.0.62、gson升至2.14.0
  • redisson升至3.52.0、lettuce升至6.8.2、kafka升至3.9.2
  • Tomcat、Undertow、Jetty、Vert.x等服务容器均同步到最新稳定版

写在最后

二十五年前那个七月,我以为高考是终点。后来才慢慢明白,它只是无数个“重新开始”里的一个。

做开源也是这样。v4.0不是终点,它只是Solon又一次“长大”的标记。删掉旧的包袱,跟上新的协议,把生态交还给更合适的人维护 ---- 这些都不是惊天动地的大事,但正是这些不起眼的、持续的打磨,让一个项目能走得更久、更稳。

如果你正在用Solon,欢迎升级到v4.0试试,遇到问题随时来社区反馈。如果你还没用过,也欢迎来看看这个国产框架这些年走过的路。

最后,祝今年所有刚走出考场的孩子们:愿你们的人生,比一次考试辽阔得多。

  • 项目仓库: 、 、
  • 官方网站:[https://solon.noear.org](https://solon.noear.org/)
  • 更新与兼容说明全文:
  • 当前版本:v4.0
  • 开源协议:Apache 2.0 | Copyright © 2017 - 2026 杭州无耳科技 / Noear开源团队
内容概要:本文围绕可变桨叶四旋翼无人机的规范控制与点对点运动模拟展开,重点研究优化推力分配策略在翻转动作中的应用与性能比较。通过Matlab代码实现,构建了四旋翼动力学模型,并设计了多种控制算法以实现精确的姿态调整与轨迹跟踪。研究对比了不同推力分配方案在执行高机动性翻转动作时的稳定性、能耗效率与响应速度,旨在提升无人机在复杂飞行任务中的动态性能与控制精度。该仿真研究为无人机飞控系统的设计与优化提供了理论依据和技术支持。; 适合人群:具备一定自动控制理论基础和Matlab编程能力,从事无人机控制、飞行器动力学或机器人系统研究的科研人员及研究生。; 使用场景及目标:① 实现四旋翼无人机在三维空间中的精确点对点运动控制;② 对比分析不同推力分配策略在执行翻转等高难度动作时的控制效果与能耗表现,优化飞行性能;③ 为无人机自主飞行、特技飞行及复杂环境下的机动控制提供算法验证平台。; 阅读建议:此资源以Matlab仿真为核心,建议读者结合相关控制理论知识,深入理解代码实现细节,重点关注动力学建模、控制律设计与推力分配模块。在学习过程中,应动手调试参数,复现文中翻转动作的仿真结果,并尝试拓展至其他复杂飞行任务,以加深对无人机控制机理的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值