Solon 是什么开源项目?
一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 30-50秒
- “snowy-solon 版” 启动3-5秒,内存省1/3(有兴趣的,欢迎拉取代码体验)
所谓:“时间就是生命,效率就是金钱”,“天下武功,唯快不破”。
相对于 Spring Boot 和 Spring Cloud 的项目,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native
本次更新了什么?
- 新增 solon.boot.websocket.netty 插件
- 新增 solon.web.sse 插件(sse: Server Send Events)
- 新增 solon.web.flux 插件,web 响应式接口支持插件
- 增加 Context 异步控制接口,为响应式web开发提供支持
- 增加 ActionReturnHandler 接口,之后特别的返回结果可定制。为响应式web开发提供支持
- 增加 ActionExecuteHandler 接口(替代旧的 ActionExecutor),并交由 chainManager 管理
- 增加 jetty、undertow、smarthttp 对 Context 异步适配
- 增加 solon.boot.jdkhttp 插件,虚拟异步支持(进而支持响应式接口)
- 增加 solon.boot.jlhttp 插件,虚拟异步支持(进而支持响应式接口)
- 增加 solon.scheduling 插件,简单的 Retry 功能
- 增加 solon.validation 一次性验证所有字段的支持
- 增加 solon.docs 插件,支持字段 transient 排除
- 增加 mybatis-plus-solon-plugin 插件,原生编译支持(GraalVM Native Image)
- 增加 Inject(“{xxx:def}”) 默认值转集合和数组支持
- 完善 mybatis-solon-plugin 原生编译支持
- 完善 solon.aot 增加 lambda 序列化支持
- 完善 Servlet 启动打印信息
- 完善 ContextPathFilter 对根地址的映射处理
- 修复 Context:forward 在有 context-path 时的会出错的问题
- 修复 请求路径动态变化后,路径变量获取失败的问题
- guava 升为 32.0.0-jre
- smarthttp 升为 1.2.4
- smartsocket 升为 1.5.30
- dromara-plugins 升为 0.0.9
- forest 升为 1.5.32
- mybatis-flex 升为 1.4.1
- sqltoy 升为 5.2.54
- hutool 升为 5.8.20
- fastjson2 升为 2.0.34
- java-websocket 升为 1.5.3
项目仓库地址?
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon
技术支持与交流?
- https://solon.noear.org/article/support
架构图?
Solon 架构图:
Solon Cloud 架构图: