一个更现代感的 Java 应用开发框架:更快、更小、更自由。没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态。主框架仅 0.1 MB。
@Controller
public class App {public static void main(String[] args) {Solon.start(App.class, args);}@Get@WebSocket@Mapping("/hello")public String hello(@Param(defaultValue = "world") String name) {return String.format("Hello %s!", name);}
}
入门探索视频(用户录制):
《bilibili - solon 入门探索》
相对于 Spring Boot 和 Spring Cloud 的项目:
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 基于服务 name 进行注册发现 与 k8s svc 相互对应
- 支持 Service Mesh 架构部署方案
- 同时支持 jdk8, jdk11, jdk17, jdk19
- 没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态
本次更新:
- 清理 xxx-solon-plugin 的 solon cloud 插件包(正试由 xxx-solon-cloud-plugin 替代)
- 插件 solon.auth 增加 AuthAdapterSupplier 的 pathPrefix 对 adapter 规则有相同限制效果
- 插件 solon.web.staticfiles 增加位置映射配置支持
- 插件 logback-solon-plugin, log4j-solon-plugin 增加自定义 Appender
- 插件 sa-token-solon-plugin 允许没有 sa-token 配置
- 修复 xxl-job-solon-cloud-plugin 没配置时会出错的问题
- 增加 @Body Map paramMap 注入方式支持,用于注入 ctx.paramMap()
- 增加 @Cookie(“Token”) String token 注入方式支持,用于注入 ctx.cookie()
- 调整 SessionStateBase 对 cookieSet 的处理
- 升级 sa-token 为 1.33.0
- 升级 sqltoy 为 5.2.21
进一步了解 Solon:
- 《想法与架构笔记》
- 《生态预览》
- 《与 Spring Boot 的区别?》
- 《与 Spring Cloud 的区别?》
项目仓库:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon