Solon 是什么框架?
Java 生态级应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模)。与其他框架相比,解决了两个重要的痛点:启动慢,费内存。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-50秒
- “snowy-solon 版” 启动3-5秒,启动内存节省1/3(有兴趣的,欢迎拉取代码体验)
相对于 Spring 生态,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image
入门探索视频(用户录制):
最近更新了什么?
- 修订 CONTRIBUTING.md 规范了更多细节 (愿 Java 开发者共建)
- https://gitee.com/noear/solon/blob/master/CONTRIBUTING.md
- 新增 事务管理的 TranListener 机制支持!!!
- https://gitee.com/noear/solon/issues/I88B7W
- 新增 Mapping 函数对 TypeVariable 参数类型的识别支持!!!
- 新增 Mapping 函数父类继承的支持(仅限 public)!!!
- https://gitee.com/noear/solon/issues/I88B3O
- 新增 Mapping 函数非公有告警提醒!!!(以后只支持 public,与父类继承保持统一)
- 新增 FactoryManager 工具类,合并各种工厂管理,替代旧的 Bridge
- https://gitee.com/noear/solon/issues/I88AZ3
- 新增 ConverterFactory 接口,完善转换器机制
- https://gitee.com/noear/solon/issues/I88AGG
- 删除 SolonApp::onError,::enableErrorAutoprint 接口(已无用,留着有误导性)
- https://gitee.com/noear/solon/issues/I88BFY
- 删除 LogUtil::globalSet 接口(已无用,留着有误导性)
- 弃用 SolonBuilder(已无用,且不简洁)
- 弃用 InitializingBean(简化应用生命周期)
- 调整 Get,Put,Post,Delete,Patch 注解,取消 ElementType.TYPE 目标
- 调整 solon.logging 的 MDC.clear() 时机(安排到最外层)
- 调整 数据源事务管理相关改为线程状态可继承(支持通过 FactoryManager 设置 threadLocalFactory)
- https://gitee.com/noear/solon/issues/I88AZ3
- 调整 所有模块的单测都升级为 junit5(落实最新的 CONTRIBUTING 规范)
- 调整 water-solon-cloud-plugin 本地调试时服务注册改为被动检测(之前为主动上报)
- 调整 HttpServerConfigure::enableSsl 允许自己设定 SSLContext(方便国密处理)
- 增加 动态数据源注解
@DynamicDs("${ddsName}")
参数模板支持 - 增加 Context::remotePort 接口
- 增加 Context::remoteIp 接口,原 ip 接口标为弃用(与 remotePort 更配套)
- 增加
@Init
函数对 AOP 的支持(有时候初始化也要用事务注解之类的) - 增加 配置提示元文件
- 修复 solon.socketd.client.websocket 自动重连失效的问题
- 拆分 solon-admin 为独立仓库
- https://gitee.com/noear/solon-admin ,欢迎大家为它供献代码
- 拆分 solon-maven-plugin 为独立仓库
- https://gitee.com/noear/solon-maven-plugin ,欢迎大家为它供献代码
- sqltoy 升为 5.2.69
- mybatis-flex 升为 1.7.0
项目仓库地址?
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon