Solon v3.4.2(Java 应用开发生态基座)
Solon 框架!
Solon 是新一代,Java 企业级应用开发框架。从零开始构建(No Java-EE),有灵活的接口规范与开放生态。采用商用友好的 Apache 2.0 开源协议,是“杭州无耳科技有限公司”开源的根级项目,是 Java 应用开发的生态基座(可替换美国博通公司的 Spring 生态)。
- 追求: 快速、小巧、简洁
- 提倡: 克制、高效、开放
7年开源时间,累计代码提交1.6万次 ,近半年下载量1200万次。
- 有透明可预期的《版本发布与维护计划》
- 有“【社区交流】”和“【商业服务】”双重技术支持
同时支持运行时环境(不基于 java-ee 构建,所以可以同时兼容):
- java8, java11, java17, java21, java24
有什么特点(相对 Java Spring 方案)?
| 特点 | 描述 |
|---|---|
| 更高的计算性价比 | 并发高 700%;内存省 50% |
| 更快的开发效率 | 代码少;入门简单;启动快 10 倍(调试快) |
| 更好的生产与部署体验 | 打包小 90% |
| 更大的兼容范围 | 非 java-ee 架构;同时支持 java8 ~ java24,graalvm native image |
最新的 techempower 测试数据:
- https://www.techempower.com/benchmarks/#hw=ph&test=json§ion=data-r23
- https://www.techempower.com/benchmarks/#hw=ph&test=plaintext§ion=data-r23
项目架构示意图(全场景应用开发支持)

最近更新了什么?(每个版本都会有满满的清单)
- 新增 solon-ai-repo-pgvector 插件
- 新增 solon-ai-search-baidu 插件
- 新增 solon
@Managed注解(未来替代@Component) - 新增 solon ActionArgumentResolver 接口
- 添加 solon-net-httputils ssl 定制支持
- 添加 solon-flow FlowContext:incrGet, incrAdd
- 添加 solon-flow aot 配置
- 添加 solon-ai-core
TextLoader(byte[])(SupplierEx<InputStream>)构造方法 - 添加 solon-ai-core
ChatConfig:defaultToolsContext(默认工具上下文),defaultOptions(默认选项) 属性 - 添加 solon-ai-core
RepositoryStorable:insert(list,progressCallback)和asyncInsert(list,progressCallback)方法,支持进度获取 - 添加 solon-ai-mcp 客户端 ssl 定制支持
- 添加 aliyun-oss-solon-cloud-plugin 阿里云oss获取临时文件url逻辑
- 优化 solon-boot server 启动时机(转到 postStart 时)
- 优化 solon-net-httputils 流接收的编码处理
- 优化 solon-net-http HttpSslSupplier 接口定义(以适与 okhttp 的接口变化)
- 优化 solon-docs-openapi2 body 动态模型的 key 添加 method(避免冲突)
- 优化 solon-flow Chain:parseByDom 节点解析后的添加顺序
- 优化 solon-flow Chain 解析统改为 Yaml 处理,并添加 toYaml 方法
- 优化 solon-flow Chain:toJson 输出(压缩大小,去掉空输出)
- 优化 solon-ai 方言 think 思考内容和字段的兼容性处理
- 优化 solon-ai 方言处理与 modelscope(魔搭社区)的兼容性
- 优化 solon-ai 方言处理与 siliconflow(硅基流动)的兼容性
- 优化 solon-ai 方言处理的流式节点识别兼容性
- 优化 solon-ai 用户消息的请求构建(当内容为空时,不添加 text)
- 优化 solon-ai-mcp McpClientProvider 心跳间隔控制(5s 以下忽略)
- 优化 solon-ai-mcp McpServerContext 增加 stdio 代理支持(环境变量自动转为 ctx:header)
- 优化 solon-ai-mcp WebRxSseClientTransport 添加 debug 日志打印
- 优化 local-solon-cloud-plugin 在启动时,预热 RunUtil
- 修复 solon aot 时 extract method 未注册的问题
- 修复 solon-net-httputils JdkHttpResponse:bodyAsString 不能使用指定编码的问题
- 修复 solon-net-httputils TextStreamUtil 不能使用指定编码的问题
- 修复 solon-scheduling-simple 可能启动后就退出的问题(有些任务触发时间晚,调试线程池未启动)
- 修复 solon-security-validation 的
@Email验校注解兼容性问题(之前 name 有点会出错) - liquor 升为 1.5.8
- wood 升为 1.3.24
项目仓库地址?
- gitee:https://gitee.com/opensolon/solon
- gitcode: https://gitcode.com/opensolon/solon
- github:https://github.com/opensolon/solon
官网?
Solon v3.4.2(Java 应用开发生态基座)的更多相关文章
- 5款强大的Java Web开发工具
1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...
- Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建
这标题实在有点拗口,不知道怎么写好,但看了标题也就明白文本的内容.最近几天在折腾这些玩意儿,所以写写总结.除了环境搭建,本文还是一篇入门级的上手教程. 去下载一些东西 JDK安装 Tomcat安装 T ...
- 用Spring Boot颠覆Java应用开发
Java开发概述: 使用Java做Web应用开发已经有近20年的历史了,从最初的Servlet1.0一步步演化到现在如此多的框架,库以及整个生态系统.经过这么长时间的发展,Java作为一个成熟的语言, ...
- Google 地图 API V3 针对移动设备进行开发
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- Java多线程开发系列之番外篇:事件派发线程---EventDispatchThread
事件派发线程是java Swing开发中重要的知识点,在安卓app开发中,也是非常重要的一点.今天我们在多线程开发中,穿插进来这个线程.分别从线程的来由.原理和使用方法三个方面来学习事件派发线程. 一 ...
- Java Web开发中MVC设计模式简介
一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...
- 【转】 java web开发之安全事项
从事java web开发也有几年了,可是开发中的安全问题却越来越不以为然.直到不久遇到一黑软,瞬间sql注入,少时攻破网站数据库.还好,我还没有用root级的用户连接数据库.不过也没有什么用了,因为我 ...
- [刘阳Java]_避开环境配置快速的使用Java的开发工具_第5讲
我们一般学习Java都应该遵循通过系统的命令工具来编译Java程序,然后对编译好Java程序进行运行,这个是非常好的习惯.但是随着后期学习Java技术的深入我们也得像Java的IDE工具屈服.所以,可 ...
- Java多线程开发技巧
很多开发者谈到Java多线程开发,仅仅停留在new Thread(...).start()或直接使用Executor框架这个层面,对于线程的管理和控制却不够深入,通过读<Java并发编程实践&g ...
- 初学 Java Web 开发,请远离各种框架,从 Servlet 开发
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践.很多Web框架是从实际的Web项目抽取出来的,仅和Web的请求和响应处 理有关,形成一个基础,在开发别的应用项目的时候则可以从 ...
随机推荐
- kubernetes service 原理精讲
--- # 介绍 Kubernetes Service 用于流量的负载均衡和反向代理,其通过 kube-proxy 组件实现.从服务的角度来看,kube-controller-manager 实现了服 ...
- OpenPPL的执行流程与类间关系UML表达
上一讲,对OpenPPL进行了介绍,以及通过官方文档,学习了它的python与C++的操作流程,以及如添加新的引擎与Op算子. 本节,将通过阅读代码通过UML梳理操作流程以及类之间的相互关系 src地 ...
- 代码随想录第七天 | 字符串part01
最近这两天上班回去真的有点晚不想动了,趁着周末有时间赶快补补: 344.反转字符串 建议: 本题是字符串基础题目,就是考察 reverse 函数的实现,同时也明确一下 平时刷题什么时候用 库函数,什么 ...
- 代码随想录第六天 | 哈希表part02
454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开 ...
- java springboot项目启动脚本,指定jdk、指定yml配置文件
start.bat @echo off rem 设置Java路径,根据你的实际情况修改 set JAVA_PATH="./jdk-17.0.6/bin/java.exe" rem ...
- CommonsBeanutils链与无commons collections的shiro反序列化利用
CommonsBeanutils链与无commons collections的shiro反序列化利用 在cc2中,我们知道可以在commons-collections4通过java.util.Comp ...
- 深度解析 JuiceFS 权限管理:Linux 多种安全机制全兼容
在多用户和高安全性要求的系统中,文件与目录权限控制是实现资源隔离与系统安全的基础机制.Linux 操作系统的文件权限模型提供了灵活强大的权限控制机制,通过对用户.组和其他用户的权限设置,确保系统资源的 ...
- k8s清理backend不存在的service对应的ingress资源
# cat clear_k8s_ingress.sh set -e kubectl get ing -A -o=custom-columns='NAMESPACE:.metadata.namespac ...
- 想取名?ChatMoney化身取名大师来帮你
本文由 ChatMoney团队出品 在寻找完美名字的道路上,您不再孤单!为您介绍一位神奇的助手--AI取名大师. 无论是期待新生命降临,为宝宝取一个承载着美好期望与祝福的名字,还是想为心爱的宠物赋予一 ...
- 【图书预售】清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》开始预售了
<JMeter核心技术.性能测试与性能分析>是一本由清华大学出版社出版的图书,JMeter是一款基于Java的压力测试工具,可用于对服务器.网络或对象模拟巨大的负载,在不同压力类别下测试它 ...