Spring Boot 国产化替代方案。Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)

Solon 框架!(也称 OponSolon)

Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是"杭州无耳科技有限公司"开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。

  • 追求: 快速、小巧、简洁
  • 提倡: 克制、高效、开放

7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。

同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容):

  • java8, java11, java17, java21, java25

有什么特点(相对 Java Spring 方案)?

Solon 对国产算力非常友好,对 cpu 和 memory 的需求远低于同类方案。

特点 描述
更高的计算性价比 并发高 700%;内存省 50%
更快的开发效率 代码少;入门简单;启动(或调试重启)快 10倍
更好的生产与部署体验 打包小 90%
更大的兼容范围 非 java-ee 架构;同时支持 java8 ~ java25,graalvm native image

最新的 techempower (第三方知名测试平台)测试数据:

项目架构示意图(全场景应用开发支持)

v3.7.2 更新说明

  • 引入 jspecify 的 @Nullable,@NonNull 注解
  • 新增 resilience4j-solon-cloud-plugin 插件
  • 新增 solon-cloud-gateway websocket 协议代理支持
  • 新增 solon 启动扫描类索引机制(由 solon aot 构建时自动生成)
  • 新增 aot 构建配置(在 native 基础上去除 graalvm.buildtools),任意 jdk 版本可用
  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 添加 solon 启动资源索引机制(通过 aot 实现)
  • 添加 solon-rx Completable:doOnErrorResume 方法
  • 添加 solon-rx Completable:subscribeOn, delay 方法,方便同步io对接
  • 添加 solon-net WebSocket:colse(code,reason) 方法及相关适配
  • 添加 solon-net-httputils HttpResponse:headerMap 方法
  • 添加 solon-data solon.dataSources 的配置提示
  • 添加 solon-web-staticfiles solon.mime.mapping 配置支持(将替代 solon.mime)
  • 优化 solon 路由匹配规则,原3个优先级升为5优先级(更细)
  • 优化 solon AppContext:beanScan 改为先加载再分批处理(确保配置类先处理)
  • 优化 solon AppContext:startInjectReview 去掉 stream 写法(减少中转,提升性能)
  • 优化 solon-logging 初始化处理,避免二次加载文件配置
  • 优化 solon 启动性能(提升 10% 到 30%)
  • 优化 solon-serve-vertx websocket 适配,避免与 solon-cloud-gateway 的 ws 代理起冲突
  • 调整 solon 编译配置荐 maven.compiler.source,target 改为 release
  • 调整 solon-serve-vertx 去除内部对象 VertxHolder(没地方用到了)
  • 调整 solon-serialization AbstractStringEntityConverter string 类型直接输出(不序列化)
  • 调整 solon ChainManager:getInterceptorNodes,addInterceptor,addInterceptorIfAbsent,removeInterceptor 恢复旧方法并标为弃用
  • 修复 nami-coder-snack4 插件元数据配置失效问题(v3.7.0 出现的)
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • eggg 升为 1.0.8
  • snack4 升为 4.0.14

v3.6.5 更新说明

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题
  • snack4 升为 4.0.14

v3.5.9 更新说明

  • 添加 solon RunUtil.io(),timer() 方便响应式使用
  • 修复 solon-rx Completable:doOnError 会中断传递的问题
  • 修复 solon-server-vertx VxWebSocketImpl:remoteAddress 转换失败的问题
  • 修复 solon-scheduling-simple 不能识别:zone=+08 配置问题

项目仓库地址?

官网?

相关推荐
uup几秒前
字符串比较的经典坑:== vs equals
java
资源站shanxueit或com4 分钟前
Python入门教程:从零到实战的保姆级指南(避坑大全) 原创
后端
悟能不能悟4 分钟前
Java 中将 List 中对象的某一列转换为 Set
java·开发语言·list
越千年6 分钟前
工作中常用到的二进制运算
后端·go
转转技术团队9 分钟前
转转大数据与AI——数据治理安全打标实践
大数据·人工智能·后端
利刃大大14 分钟前
【SpringBoot】SpringMVC && 请求注解详解 && 响应注解详解 && Lombok
java·spring boot·后端
BBB努力学习程序设计17 分钟前
Java注解(Annotation)深度解析:从元编程到框架设计
java
梨子同志19 分钟前
Java 介绍与开发环境安装
后端
2501_9167665423 分钟前
【SpringMVC】实现文件上传
java·spring
Jack_abu23 分钟前
详解java中的BlockingQueue阻塞队列
java·juc·阻塞队列·blockingqueue