Solon 是什么开源项目?
一个,Java 新的生态型应用开发框架 。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。
关键记事:
- 2021年1月,正式对外开源
- 2022年7月,建立官网,发力推广
- 2023年2月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。
- 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次
- 2023年6月,Maven 单月下载量突破200万。官网资料超 500 个页面。
解决痛点?
由于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
本次更新了什么?
- 新增 lettuce-solon-plugin 插件
- 新增 solon.docs.openapi2 插件
- 新增 solon.cloud.metrics 插件
- 升级 solon-maven-plugin 的相关依赖
- 增加
List<Bean>
和Map<String,Bean>
注入支持 - 增加 Context::attrOrDefault 接口,原接口标为弃用
- 增加 RouterInterceptor::pathPatterns 接口,原接口标为弃用
- 增加 solon-admin-server 对 basic auth 配置的支持
- 增加 solon-admin-server 对 uiPath 配置的支持
- 增加 solon-admin-client 接口安全控制
- 增加 solon-admin-client 与 server 一起使用时,自动识别 serverUrl
- 增加 solon-admin-client 增加 token 访问控制
- 调整 solon-admin-client ,元信息改为 solon.app 的内容;server 监视日志改为 trace 级别
- 调整 solon.docs 的控制器启动,转到 solon-openapi2-knife4j。方便不同的框架定制自己的服务
- 调整
@Bean
函数的 VarGather::requireRun 由 false 改为 true,只要过了条件检测必然运行 - 调整 sa-token-solon-plugin 插件,增加对网关的支持
- 调整 CloudMetricService 接口设计,更适合与 micrometer 对接
- 调整 solon.health.detector 代码实现,增加复用性
- 修复 solon.cloud.eventplus 插件
@CloudEventSubscribe
注解在函数会出错的问题 - 修复 solon.docs 插件
@ApiParam
注解无效的问题 - mybatis-flex 升为 1.5.6
- beetlsql 升为 3.23.6-RELEASE
- sqltoy 升为 5.2.60
- snack3 升为 3.2.75
- wood 升为 1.1.8
- smarthttp 升为 1.2.9
- smartsocket 升为 1.5.32