Java Solon v3.3.0 发布(国产优秀应用开发基座)

Solon 框架!

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

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

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

  • 有透明可预期的《版本发布与维护计划》
  • 有“【社区交流】”和“【商业服务】”双重技术支持

有什么特点(相对 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 快如闪电!智也非凡!从 v3.1 起,提供完整的 AI 应用开发支持(Solon AI 同时支持 java8 到 java24)。

  • 新增 solon-ai-repo-dashvector 插件
  • 新增 seata-solon-plugin 插件
  • 新增 solon-data Ds 注解(为统一数据源注入作准备)
  • 插件 solon-ai 三次预览
  • 插件 solon-ai-mcp 二次预览
  • 调整 solon Cookie,Header,Param 的 required 默认改为 true (便与 mcp 复用)
  • 调整 solon-ai 移除 ToolParam 注解,改用 Param 注解(通用参数注解)
  • 调整 solon-ai ToolMapping 注解移到 org.noear.solon.ai.annotation
  • 调整 solon-ai FunctionToolDesc:param 改为 paramAdd 风格
  • 调整 solon-ai MethodToolProvider 取消对 Mapping 注解的支持(利于跨生态体验的统一性)
  • 调整 solon-ai-mcp McpClientToolProvider 更名为 McpClientProvider(实现的接口变多了))
  • 优化 solon-ai 拆分为 solon-ai-core 和 solon-ai-model-dialects(方便适配与扩展)
  • 优化 solon-ai 模型方言改为插件扩展方式
  • 优化 nami 的编码处理
  • 优化 nami-channel-http HttpChannel 表单提交时增加集合参数支持(自动拆解为多参数)
  • 优化 solon Param 注解,添加字段支持
  • 优化 solon 允许 MethodWrap 没有上下文的用况
  • 优化 solon-web-sse 边界,允许 SseEmitter 未提交之前就可 complete
  • 优化 solon-serialization JsonPropsUtil.apply 分解成本个方法,按需选择
  • 优化 solon-ai 允许 MethodFunctionTool,MethodFunctionPrompt,MethodFunctionResource 没有 solon 上下文的用况
  • 优化 solon-ai-core model.options(o->{}) 可多次调用
  • 优化 solon-ai-mcp McpClientProvider 同时实现 ResourceProvider, PromptProvider 接口
  • 优化 solon-ai-repo-redis metadataIndexFields 更名为 metadataFields (原名标为弃用)
  • 添加 nami NamiParam 注解支持
  • 添加 nami 文件(UploadedFileFile)上传支持
  • 添加 nami 对 solon Mapping 相关注解的支持
  • 添加 nami 自动识别 File 或 UploadedFile 参数类型,并自动转为 FORM_DATA 提交
  • 添加 solon Mapping:headers 属性(用于支持 Nami 用况)
  • 添加 solon Body:description,Param:description,Header:description,Cookie:description 属性(用于支持 MCP 用况)
  • 添加 solon UploadedFile 基于 File 构造方法
  • 添加 solon-net-httputils HttpUtilsBuilder:proxy 方法(设置代理)
  • 添加 solon-net-httputils HttpProxy 类
  • 添加 solon-ai-core ChatSubscriberProxy 用于控制外部订阅者,只触发一次 onSubscribe
  • 添加 solon-ai-mcp McpClientProperties:httpProxy 配置
  • 添加 solon-ai-mcp McpClientToolProvider isStarted 状态位(把心跳开始,转为第一次调用这后)
  • 添加 solon-ai-mcp McpClientToolProvider:readResourceAsText,readResource,getPromptAsMessages,getPrompt 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:getVersion,getChannel,getSseEndpoint,getTools,getServer 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:addResource,addPrompt 方法
  • 添加 solon-ai-mcp McpServerEndpointProvider:Builder:channel 方法
  • 添加 solon-ai-mcp ResourceMapping 和 PromptMapping 注解(支持资源与提示语服务)
  • 添加 solon-ai-mcp McpServerEndpoint AOP 支持(可支持 solono auth 注解鉴权)
  • 添加 solon-ai-mcp McpServerEndpoint 实体参数支持(可支持 solon web 的实体参数、注解相通)
  • 添加 solon-ai-mpc Tool.returnDirect 属性透传(前后端都有 solon-ai 时有效,目前还不是规范)
  • 修复 solon 由泛型桥接方法引起的泛型失真问题
  • 修复 solon Utils.getFile 在 window 下绝对位置失效的问题
  • 修复 solon-net-httputils OkHttpUtils 不支持 post 空提交的问题
  • 修复 nami-channel-http 不支持 post 空提交的问题
  • 修复 solon-serialization-fastjson2 在配置全局时间格式化后,个人注解格式化会失效的问题
  • 修复 solon Utils.getFile 在 window 下绝对位置失效的问题
  • snack3 升为 3.2.133
  • dbvisitor 升为 6.0.0
  • sa-token 升为 1.42.0
  • mybatis-flex 升为 1.10.9
  • smart-http 升为 2.5.10

项目仓库地址?

  • gitee:https://gitee.com/opensolon/solon
  • gitcode: https://gitcode.com/opensolon/solon
  • github:https://github.com/opensolon/solon

官网?

  • https://solon.noear.org

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣-104.二叉树的最大深度

题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 class Solution { public:int maxDepth(TreeNode* root) {if(!root){return 0;}return max(maxDepth(root->left), maxDepth(root->…

单反和无反(私人笔记)

① 单反相机: 定义: 单反相机(Single-Lens Reflex,SLR)是一种带有反光镜结构的数码相机。光线通过镜头进入后,先被反光镜反射到五棱镜/五面镜,再通过取景器进入人眼。按下快门时,反…

超详细讲解C语言转义字符\a \b \r \t \? \n等等

转义字符 C语言有一组字符很特殊,叫做转义字符,顾名思义,改变原来的意思的字符。 1 \? ??)是一个三字母词,在以前的编译器它会被编译为] (??会被编译为[ 因此在以前输入(are you ok ??)就会被编译为are you ok ] 解决这个…

Java Spring MVC -01

SpringMVC 是一种基于 的实现 MVC 设计模式的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 中。 First:SpringMVC-01-SpringMVC 概述 SpringMVC 是 Spring 框架的一个模块,用于构建 Web 应…

Spring MessageSource 详解:如何在国际化消息中传递参数

在开发多语言应用程序时,Spring 的 MessageSource 是处理国际化(i18n)文本的核心组件。它允许我们根据用户的 Locale (区域设置) 显示不同的消息。然而,很多时候我们的消息并不是静态的,而是需要包含动态数据,比如用户名、数量、文件名等。这时,我们就需要在获取国际化消…

Datawhale 5月llm-universe 第1次笔记

课程地址:GitHub - datawhalechina/llm-universe: 本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/ 难点:配置conda环境变量 我用的vscode github方法 目录 重要…

基于Java的家政服务平台设计与实现(代码+数据库+LW)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本家政服务平台就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息&a…

Android中LinearLayout线性布局使用详解

Android中LinearLayout线性布局使用详解 LinearLayout(线性布局)是Android中最基础、最常用的布局之一,它按照水平或垂直方向依次排列子视图。 基本特性 方向性:可以设置为水平(horizontal)或垂直(vertical)排列权重&#xff1…

LVS+keepalived实战案例

目录 部署LVS 安装软件 创建VIP 创建保存规则文件 给RS添加规则 验证规则 部署RS端 安装软件 页面内容 添加VIP 配置系统ARP 传输到rs-2 客户端测试 查看规则文件 实现keepalived 编辑配置文件 传输文件给backup 修改backup的配置文件 开启keepalived服务 …

(C语言)超市管理系统(测试版)(指针)(数据结构)(二进制文件读写)

目录 前言: 源代码: product.h product.c fileio.h fileio.c main.c 代码解析: fileio模块(文件(二进制)) 写文件(保存) 函数功能 代码逐行解析 关键知识点 读文…

ubuntu----100,常用命令2

目录 文件与目录管理系统信息与管理用户与权限管理网络配置与管理软件包管理打包与压缩系统服务与任务调度硬件信息查看系统操作高级工具开发相关其他实用命令 在 Ubuntu 系统中,掌握常用命令可以大幅提升操作效率。以下是一些常用的命令,涵盖了文件管理…

WiFi密码查看器打开软件自动获取数据

相信有很大一部分人都不知道怎么看已经连过的WiFi密码。 你还在手动查询自己的电脑连接过得WiFi密码吗? —————【下 载 地 址】——————— 【本章单下载】:https://drive.uc.cn/s/dbbedf933dad4 【百款黑科技】:https://ucnygalh6…

开目新一代MOM:AI赋能高端制造的破局之道

导读 INTRODUCTION 在高端制造业智能化转型的深水区,企业正面临着个性化定制、多工艺场景、动态生产需求的敏捷响应以及传统MES柔性不足的考验……在此背景下,武汉开目信息技术股份有限公司(简称“开目软件”)正式发布新一代开目…

Android开发-视图基础

在Android应用开发中,视图(View)是构建用户界面的基本元素。无论是按钮、文本框还是复杂的自定义控件,它们都是基于View类或其子类实现的。掌握视图的基础知识对于创建功能强大且美观的应用至关重要。本文将深入探讨Android中的视…

无人机信号线被电磁干扰导致停机

问题描述: 无人机飞控和电调之间使用PWM信号控制时候,无人机可以正常起飞,但是在空中悬停的时候会出现某一个电机停机,经排查电调没有启动过流过压等保护,定位到电调和飞控之间的信号线被干扰问题。 信号线被干扰&am…

VSCode设置SSH免密登录

引言 2025年05月13日20:21:14 原来一直用的PyCharn来完成代码在远程服务器上的运行,但是PyCharm时不时同步代码会有问题。因此,尝试用VSCode来完成代码SSH远程运行。由于VSCode每次进行SSH连接的时候都要手动输入密码,为了解决这个问题在本…

硬密封保温 V 型球阀:恒温工况下复杂介质控制的性价比之选-耀圣

硬密封保温 V 型球阀:恒温工况下复杂介质控制的性价比之选 在沥青储运、化学原料加工、食品油脂输送等工业领域,带颗粒高粘度介质与料浆的恒温输送一直是生产的关键环节。普通阀门在应对此类介质时,常因温度流失导致介质凝结堵塞、密封失效&…

最终一致性和强一致性

最终一致性和强一致性是分布式系统中两种不同的数据一致性模型,它们在数据同步的方式和适用场景上有显著区别: 1. 强一致性(Strong Consistency) 定义:所有节点(副本)的数据在任何时刻都保持一…

基于单应性矩阵变换的图像拼接融合

单应性矩阵变换 单应性矩阵是一个 3x3 的可逆矩阵,它描述了两个平面之间的投影变换关系。在图像领域,单应性矩阵可以将一幅图像中的点映射到另一幅图像中的对应点,前提是这两幅图像是从不同视角拍摄的同一平面场景。 常见的应用场景&#x…

如何同步虚拟机文件夹

以下是一些常见的同步虚拟机文件夹的方法: 使用共享文件夹(以VMware和VirtualBox为例) - VMware:打开虚拟机,选择“虚拟机”->“设置”,在“选项”中选择“共享文件夹”,点击“添加”选择…