Solon 是什么开源项目?
一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-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 image
本次更新了什么?
- 优化 nami 解码器的渲染要求策略
- 优化 solon.boot.websocket 异步发送机制
- 优化 solon.boot.websocket.netty 异步发送机制
- 调整 RunUtil 增加线程池名
- 调整 StringSerializerRender 开放 serializer 属性
- 调整 app.router().caseSensitive 默认为 true
- 增加 CloudEvent 注解在函数上时,支持 AOP 扩展
- 增加 solon.docs 插件,对网关开发模式的支持
- 增加 solon.boot.socketd.jdksocket 插件,对 ssl 的支持
- 增加 server.http.ssl.* 配置
- 增加 NamiMapping、NamiBody 注解,以示与 solon 注解的区别
- 增加 序列化接口(在渲染之外),可以外面复用(从 StringSerializerRender 开放 serializer)
- 增加 Context::headersMap, Context::headerValues 接口
- 修复 solon.serialization.jackson 在某些情况下,序列化 null 会出错的问题
- 修复 solon.boot.jetty 不能使用资源文件做 ssl 密钥文件的问题
- wood 升为 1.1.5
- smarthttp 升为 1.2.6
- smartsocket 升为 1.5.31
- sqltoy 升为 5.2.57
- mybatis-flex 升为 1.4.4
- beetlsql 升为 3.23.2-RELEASE