前言¶
把 Spring Boot / Spring Cloud 项目迁到 Solon,工作量不在业务代码本身,而在那些散落各处的脚手架:注解、starter 依赖、配置文件、Feign 调用、安全框架、定时任务、校验、测试基类。逐个文件手工改,容易漏,改完还要验证启动是否成功。这类迁移的难点是「规则固定、覆盖面广」,正好适合交给一个结构化的 Skill 来带路。
下面介绍 spring-to-solon-skill,它的作用是把迁移这件事拆成可执行的步骤,给出注解映射、依赖替换、架构差异和分模块的迁移顺序。
这是什么¶
spring-to-solon-skill 是一个面向 Java 项目迁移的 Skill,由 SkillHub 社区发布者 user_7e22112e 维护,当前版本 1.0.4,来源为 community,分类 dev-programming,标签 requires_api_key=false(不需要 API Key)。SkillHub 页面显示评分 100000,下载 503,安装 4。
它解决的问题只有一个:把已有的 Spring Boot / Spring Cloud 项目迁到 Solon。它不是 Solon 开发教程,官方说明里明确写了不适合绿地 Solon 项目,那种情况应该用 solon-development-skill。
核心能力¶
按官方简介,这个 Skill 提供四类内容:
1、注解映射:Spring 侧注解对应到 Solon 侧的写法。
2、依赖替换:把 Spring 生态的 starter 换成 Solon 对应依赖。
3、架构差异:说明两者在设计上的区别,避免用 Spring 的心智模型硬套 Solon。
4、分模块迁移步骤:覆盖 IoC、Web、Data、Security、Scheduling、Validation、Cloud、Testing 八个方向。
这八个方向基本覆盖了一个 Spring 项目的常见能力面,可以当作迁移的检查清单来用。
已知的替换映射¶
官方简介里直接给出了几组对应关系,做迁移前可以先对照一遍:
| Spring Boot / Cloud 侧 | Solon 侧 |
|---|---|
| application.yml | app.yml |
| Feign | Nami |
| @SpringBootTest | @SolonTest |
| Spring Security | solon-security-auth |
| validation(Spring 校验) | solon-security-validation |
其中配置名从 application.yml 改为 app.yml 这类细节,正是手工迁移最容易漏掉的地方。
迁移时的推进顺序¶
结合官方提到的能力范围,可以按下面的次序推进,每完成一步再验证一次:
1、先改依赖:替换 pom/build 文件中的 starter,这一步不改业务代码。
2、再改配置:把 application.yml 的结构调整为 app.yml,先保证应用能起来。
3、接着改 IoC:处理 @Component / @Service / @Autowired 一类的注解映射。
4、然后处理 Web、Data、Scheduling、Validation 这几个独立模块,一个模块改完跑一次测试。
5、再处理 Security 和 Cloud:安全框架换成 solon-security-auth,服务间调用换成 Nami。
6、最后改测试:把 @SpringBootTest 换成 @SolonTest,跑全量测试。
分步推进的理由是:配置和依赖先通,后面的注解替换才有意义;安全和云相关放在后面,可以减少前面阶段的排查噪音。
安装与启用¶
Skill 采用通用 SKILL.md 格式,坐标如下:
@user_7e22112e/spring-to-solon-skill
安装时从 SkillHub 获取该坐标。具体的安装命令以 SkillHub 页面给出的引导为准,因为社区发布的 Skill 在不同客户端(Cursor、Codex CLI、Claude Code 等)下的接入方式并不统一,这里不臆测命令。装好后在对话中触发即可,触发条件包括这些表述:
- 直接说「迁移」
- 「Spring 转 Solon」
- 「替换 starter」
- 「去 Spring 依赖」
也可以直接提出具体诉求,比如把 Feign 换成 Nami、把 @SpringBootTest 换成 @SolonTest。
适用场景与注意¶
适合的场景:
- 已有 Spring Boot 项目,想迁到 Solon 框架。
- 已有 Spring Cloud 项目,涉及服务发现、Feign 调用等,想迁到 Solon。
- 只是想替换部分 Spring 注解、依赖或 starter,不需要整体重构。
不适合的场景:
- 全新开始的 Solon 项目。官方明确说明这种情况应使用 solon-development-skill。
使用上需要注意两点:一是它是指导性 Skill,给出的是映射关系和步骤,具体到某个老项目的兼容问题仍要自己验证;二是涉及 Spring Cloud 的组件时,替换方案并不总是一一对应,需要按模块确认。
结尾¶
spring-to-solon-skill 的价值在于把「Spring 迁 Solon」这件重复性强、覆盖面广的工作,整理成可对照的映射表和分步流程,省去逐文件试错的时间。如果你手上有一个正在维护的 Spring Boot / Cloud 项目准备迁到 Solon,可以从官方地址开始:
- SkillHub 页面:https://www.skillhub.cn/skills/user_7e22112e/spring-to-solon-skill
- 接口地址:https://api.skillhub.cn/user_7e22112e/spring-to-solon-skill