Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。
150来个生态插件,覆盖各种不同的应用开发场景:
相对于 Spring Boot 和 Spring Cloud 的项目:
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk20。
似曾相似的体验,入门更简单,迁移很方便:
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app->{
//手写模式
app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}"))
});
}
//注解模式
@Get
@Socket
@Mapping("/hello")
public String hello(String name) {
return String.format("Hello %s!", name);
}
}
入门探索视频(用户录制):
《bilibili - solon 入门探索》
本次更新:
- 新增 mybatis-flex-solon-plugin 插件
- 插件 solon.cloud.tracing 将 traceId 和 spanId 存入日志全局变量,方便在日志中打印
- 插件 solon.scheduling 增加 @Async 运行器创建扩展机制
- 调整 “@Init will be discarded” 打印时机,改由 debug 时打印
- 调整 solon.web.sso 插件的用法
- 调整 mybatis 相关的适配包名,基于2.0规范
- 调整 @SolonTest 注解为可继承
- 优化 mybatis-solon-plugin 去掉关闭连接时的 connection.setAutoCommit(true)。此段代码会导致查询速度增加20~30ms
- 优化 solon.boot.jlhttp 插件 JlHttpServer 类,实现接口公用性!!!
- 优化 solon.boot.jdkhttp 插件 JdkHttpServer 类,实现接口公用性!!!
- 优化 solon.boot.smarthttp 插件 SmHttpServer 类,实现接口公用性!!!
- snack3 升为 3.2.65,支持 File 类型注入
项目仓库:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon