Solon 是什么开源项目?

一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。

关键记事:

  • 2021年1月,正式对外开源
  • 2022年7月,建立官网,发力推广
  • 2023年2月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。
  • 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次
  • 2023年6月,Maven 单月下载量突破200万。官网资料超 500 个页面。

解决痛点?

由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:

所谓:“时间就是生命,效率就是金钱”,“天下武功,唯快不破”。

相对于 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

本次更新了什么?

  • 新增 solon-openapi2-knife4j 插件,替代 solon-swagger2-knife4j
  • 增加 server.socket.ssl.* 配置
  • 增加 server.websocket.ssl.* 配置
  • 增加 Context::isSecure 接口
  • 增加 ChainManager::defExecuteHandler 接口
  • 增加 ChainManager 对 SessionStateFactory 的管理,原管理方式移除
  • 增加 @Header String[] xxx 注入支持
  • 增加 Converter 体系,一般用于基础类型的通用转换
  • 增加 日志服务孵化机制,可在打印前进行完成格式配置
  • 增加 solon.boot.socketd.netty 插件对 ssl 的支持
  • 增加 solon.boot.websocket.netty 插件对 ssl 的支持
  • 优化 RouterListener 取消自己的线程池,改用 RunUtil
  • 优化 JsonConverter 标为弃用,统一由 Converter 替代
  • 优化 SocketChannelBase 标为弃用,统一由 ChannelBase 替代
  • 优化 ResourceUtil 的根路径兼容性
  • 优化 @Init 注解逻辑,仅对原始实例有效。保持与 LifecycleBean 相同策略
  • 优化 solon.boot.smarthttp 的 ws 适配
  • 优化 nacos2-solon-cloud-plugin 的适配,统一 jackson 版本
  • 优化 nacos-solon-cloud-plugin 的适配,统一 jackson 版本
  • 优化 LogUtil 扩展方式,改为静态扩展方式,原手动方式标为弃用
  • 优化 Context::headerValues() 返回类型为 String[]
  • 优化 Context::paramValues() 统一 server 相关处理逻辑
  • 优化 统一 request 参数与实体字段的注入转换机制,并增加自定义转换机制
  • 优化 内核日志打印顺序,由 SolonApp 实例化后再打印。以便日志格式配置先加载
  • 优化 当使用 http ssl 时,服务启动打印为 https 地址
  • 优化 ActionExecuteHandlerDefault::changeBody 参数结构,方便不同的序列化方案处理
  • 优化 Nami 编码器匹配策略及头同步策略,尤其是仅单编码包引入时
  • 优化 AbstractRoutingDataSource 的关闭处理
  • 优化 ShardingDataSource 增加 Closeable 接口支持
  • 调整 beetlsql-solon-plugin 插件,DbConnectionSource 改为公有,调整包结构
  • 修复 solon-swagger2-knife4j 插件,递归类型的数据模型会栈溢出的问题
  • 修复 solon-swagger2-knife4j 插件,相同 path 不能显示多个 method 的问题
  • 修复 solon-swagger2-knife4j 插件,List<Demo> 风格参数,不能正常构建 json 示例
  • 修复 solon-swagger2-knife4j 插件,Page<Demo>Result<Page<Demo>> 等复杂嵌套的临时模型,不能正常构建 json 示例
  • dbvisitor 升为 5.3.3
  • mybatis-flex 升为 1.5.1
  • sqltoy 升为 5.2.59
  • fastmybatis 升为 2.8.1
  • bean-searcher 升为 4.2.2
  • liteflow 升为 2.10.5
  • beetl 升为 3.15.7.RELEASE
  • beetlsql 升为 3.23.4-RELEASE
  • smarthttp 升为 1.2.8
  • fastjson2 升为 2.0.35

项目仓库地址?

Solon v2.4.0 发布,Java 生态的新星燃起的更多相关文章

  1. XXL-JOB v2.3.0 发布 | 易用性增强

    转: XXL-JOB v2.3.0 发布 | 易用性增强 v2.3.0 Release Notes 1.[新增]调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略.立即补偿触发一次等: 2. ...

  2. Solon v2.2.7 发布,支持 Java 8 到 Java 20

    Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.也是一个有自己接口标准规范的开放生态. 150来个生态插件,覆盖各种不同的应用开发场景: 相对于 Spring Boot 和 Sp ...

  3. Solon v2.2.6 发布,助力信创国产化

    Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它是一个有自己接口标准规范的开放生态,可为应用软件国产化提供支持,助力信创建设. 150来个生态插件,覆盖各种不同的应用开发场景: ...

  4. Solon v2.2.10 发布,助力信创国产化

    Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有使用 Servlet.JavaEE 接口,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...

  5. Solon v2.1.4 发布。支持 java、kotlin、groovy!

    本次发布,重点测试和验证了在 java.kotlin.groovy 三种 jvm 语言里,开箱即用的特性.并发布 Solon Initializr: https://solon.noear.org/s ...

  6. Solon v1.11.0 发布,Hello Java

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  7. Java 新的生态型应用开发框架,Solon v2.2.13 发布

    Java 新的生态型应用开发框架,Solon :更快.更小.更简单.从零开始构建,有自己的标准规范与开放生态: 150多个生态插件,可以满足各种场景开发 大量的国产框架适配,可以为应用软件国产化提供更 ...

  8. Solon v2.2.1 发布。向 Graalvm Native 友好靠近

    本次更新最重要的是增加了 Solon APT 项目,为更简单的完成 Graalvm Native 打包提供了帮助:其次是增加了 @ProxyComponent 和 @SolonMain 注解:以及优化 ...

  9. Solon 1.8.0 发布,云原生微服务开发框架

    相对于 Spring Boot 和 Spring Cloud 的项目 启动快 5 - 10 倍 qps 高 2- 3 倍 运行时内存节省 1/3 ~ 1/2 打包可以缩小到 1/2 ~ 1/10(比如 ...

  10. fastposter v2.10.0 简单易用的海报生成器

    fastposter海报生成器是一款快速开发海报的工具.只需上传一张背景图,在对应的位置放上组件(文字.图片.二维.头像)即可生成海报. 点击代码直接生成各种语言的调用代码,方便快速开发. 现已服务众 ...

随机推荐

  1. 下一代大数据分布式存储技术Apache Ozone初步研究

    @ 目录 概述 定义 特性 架构 总体架构 写数据 读数据 部署 安装方式 安装 Docker启动 Docker-compose启动 企业预置型(On Premise)安装 实践 命令行接口 Ofs ...

  2. input输入框输入组合的限制

    1 输入大小写字母.数字.下划线: 2 <input type="text" οnkeyup="this.value=this.value.replace(/[^\ ...

  3. Java 网络编程 —— 创建多线程服务器

    一个典型的单线程服务器示例如下: while (true) { Socket socket = null; try { // 接收客户连接 socket = serverSocket.accept() ...

  4. 文心一言 VS chatgpt (5)-- 算法导论2.2 3~4题

    三.再次考虑线性查找问题(参见练习 2.1-3).假定要查找的元素等可能地为数组中的任意元素,平均需要检查输入序列的多少元素?最坏情况又如何呢?用0记号给出线性查找的平均情况和最坏情况运行时间.证明你 ...

  5. 2020-09-26:请问rust中的&和c++中的&有哪些区别?

    福哥答案2020-09-26:#福大大架构师每日一题# 变量定义:c++是别名.rust是指针.取地址和按位与,c++和rust是相同的. c++测试代码如下: #include <iostre ...

  6. 3. docker的实践玩法

    1. docker的进程架构 docker服务进程:就是针对docker服务的命令,启动,重启 接口:通过参数指定容器的IP和端口,实现对容器的远程操作 客户端命令行:对docker的操作命令 最后学 ...

  7. 关于VS2022使用EF生成实体模型报错的问题:运行转换:System.NullReferenceException:对象引用未设置为对象的示例。

    起因: 之前版本vs2022生成EF模型一直没有问题,在更新了最新的vs2022之后,版本号17.6+,出现此问题: 运行转换:System.NullReferenceException:对象引用未设 ...

  8. vivo 游戏黑产反作弊实践

    作者:vivo 互联网安全团队 - Cai Yifan 在数字化.移动化的浪潮下,游戏产业迅速发展,尤其疫情过后许多游戏公司业务迎来新的增长点. 游戏行业从端游开始一直是黑灰产活跃的重要场景.近年来, ...

  9. Python 标准类库-并发执行之multiprocessing-基于进程的并行

    实践环境 Python3.6 介绍 multiprocessing是一个支持使用类似于线程模块的API派生进程的包.该包同时提供本地和远程并发,通过使用子进程而不是线程,有效地避开了全局解释器锁.因此 ...

  10. C++面试八股文:std::array如何实现编译器排序?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第25面: 面试官:array熟悉吗? 二师兄:你说的是原生数组还是std::array? 面试官:你觉得两者有什么区别? 二师兄:区别不是很大,原生 ...