很多人说 Java 能火这么多年
纯粹是命好
Java 一次编写 到处运行 的口号
是他的本命
当 python、C# 追赶的时候
Spring 给他续了第二条命
延寿至今
如今,一个国产框架 Solon 横空出世
重新定义Java开发的极简美学
以"克制设计"为核心理念
建立了一套轻量化、高性能框架

国内企业自主研发
启动速度比Spring快10倍以上
非Java-EE架构设计
摆脱了传统Servlet依赖
兼容 Java8 到 Java24 版本
光是以上字眼
就称得上颠覆
更不用说还有
运行包体积缩小90%
内存占用减少50%
并发能力较Spring提升300%
读者朋友们,你们惊呆了吗
他完全走了一条不一样的路
大量使用注解和自动装配
我们一起看看官方给出的第一个示范
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
app.get("/test1", ctx -> ctx.output("Hello world!"));
});
}
@Get
@Socket
@Mapping("/test2")
public String test2(String name) {
return String.format("Hello %s!", name);
}
}
有Spring基础的同学
理解上文一点难度都没有
大体上符合写作习惯
只是做了减法
Solon 采用更轻量的IoC/AOP容器
代码量为 Spring 的 1/3
最小运行包仅0.3M
启动速度比Spring快10倍
兼容Redisson、Satoken等主流组件
支持动态数据源和分库分表
集成solon-data实现数据库操作
支持MyBatis-Flex、JOOQ等ORM框架
内置 solon-cache 对接Redis等缓存
内置 solon-cloud 提供服务注册发现
内置 solon-jwt/jaeger 实现鉴权与链路追踪
内置 solon-breaker 提供熔断限流
原生支持Serverless架构
Docker镜像构建速度提升50%
简单说吧
Spring家族能做的
他都支持
主打更轻量、更高性能

我们经常需要用 yml 配置数据
注入到bean中
看看 Solon 怎么做的
track:
name: xxx
url: http://10.4.3.23
db1:
jdbcUrl: "jdbc:mysql://..."
username: "xxx"
password: "xxx"
@Component
public class DemoService{
@Inject(value="${track.name:test}", autoRefreshed=true)
static String trackName;
@Inject("${track.url}")
String trackUrl = "http://x.x.x/track";
@Inject("${track.db1}")
Properties trackDbCfg;
@Inject("${track.db1}")
HikariDataSource trackDs;
}
除了注解换成了 @Inject
别的和Spring差不多
再来看看对象注入
@Component
public class TestService {
@Inject
private static TrackService trackService;
@Inject("userService")
private UserService userService;
}
或者可以构造注入
@Component
public class TestService {
private final TrackService trackService;
private final UserService userService;
public TestService(TrackService trackService, @Inject("userService") UserService userService) {
this.trackService = trackService;
this.userService = userService;
}
}
bean手工调用也很简单
public DemoService(){
trackService = Solon.context().getBean(TrackService.class);
trackService = Solon.context().getBeanOrNew(TrackService.class);
}
这里看到一个 getBeanOrNew 的写法
很奇怪是吧
他居然能支持在主程序 start() 之前调用bean
Solon构建了完整的开发生态体系
对比Spring框架
在做简易项目、概念产品
快速构建和集成的场合
非常适合
对于追求极致性能、强调开发效率的团队而言
Solon不仅是一个技术选择
更是一种开发哲学的革新
在云原生时代
这种轻量、高效、开放的框架设计
正在重新定义Java开发的边界
或许,这就是Java的第三条命
先别走,请留步
很多小伙伴也关注很久了
我们能与志同道合的朋友畅聊职业发展
分享最新面试机会和题库
以及行业技术方面的交流、摸鱼的经验
保持联系
可以加我的微信
输入aaa2就有红包领
记得加入哦