Solon 框架!

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

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

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

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

  • java8, java11, java17, java21, java14

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

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

最新的 techempower 测试数据:

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

最近更新了什么?(每个版本都会有满满的清单)

Solon 快如闪电!智也非凡!从 v3.1 起,提供完整的 AI 应用开发支持(Solon AI、Solon MCP 同时支持 java8 到 java24)。

  • 新增 solon-ai-flow 插件
  • 新增 solon-ai-load-ddl 插件
  • 新增 solon-flow-designer (设计器)
  • 添加 solon BeanWrap:annotationHas 方法
  • 添加 solon LifecycleBean:setAppContext 方法
  • 添加 solon LazyReference 类(懒引用)
  • 添加 solon RunUtil:callAndTry 方法
  • 添加 solon-data DsBuilder 公用处理类
  • 添加 solon-data Ds 注解 ElementType.TYPE 支持
  • 添加 solon-security-auth AuthIgnore 注解
  • 添加 solon-ai-core ChatMessage:ofUser(media) 方法
  • 添加 solon-ai-core ChatSession:addMessage(ChatPrompt) 方法
  • 添加 solon-ai-core ChatSession:addMessage(Collection) 方法
  • 添加 solon-ai-core RerankingConfig,RerankingModel toString 方法
  • 添加 solon-ai-core 模型的网络代理支持(支持简单配置,和复杂构建)
  • 添加 solon-ai-mcp 客户端的网络代理简单配置支持
  • 添加 solon-ai-mcp messageEndpoint 端点配置支持(应对特殊需求,一般自动更好)
  • 添加 solon-ai-mcp ToolMapping,ResourceMapping 注解方法对 Produces 注解的支持(用它可指定结果转换处理)
  • 添加 solon-ai-mcp ToolCallResultConverter:matched 方法
  • 添加 solon-ai-mcp 资源模板的响应适配
  • 添加 solon-ai-mcp McpClientProvider:getResourceTemplates 方法
  • 添加 solon-ai-mcp 检查原语是否存在的方法(hasTool, hasPrompt, hasResource)
  • 添加 solon-ai-mcp 提示语支持 UserMessage 拆解成多条 mcp 内容(如果,同时有媒体和文本的话)
  • 添加 grpc-solon-cloud-plugin 流式存根,支持Grpc流式消息收发
  • 优化 nami 增加 @Path 注解支持
  • 优化 solon setAccessible 异常控制
  • 优化 solon MethodHandler 的 MethodWrap 实例化(取消对 solon.app 的依赖),支持非容器运行
  • 优化 solon-net-httputils 202 重试处理
  • 优化 solon-net-httputils 3xx 跳转处理
  • 优化 solon-net-httputils execAsSseStream,execAsLineStream 增加 error message 显示支持
  • 优化 solon-mvc ActionExecuteHandler 使用 LazyReference,延迟表单解析(可支持流的原始读取)
  • 优化 solon-ai-core tool 空参数时的不同大模型兼容性
  • 优化 solon-ai-core ChatSession 的作用,为限数提供支持
  • 优化 solon-ai-core MethodFunctionTool 移除对 Mapping 注解的支持(语意更清楚,之前 MethodToolProvider 已经移除,这个落了)
  • 优化 solon-ai-mcp 取消 MethodFunctionResource 对反回类型的限制(增加了 resultConverter 转换处理)
  • 优化 solon-ai-mcp McpServerEndpointProvider 支持零添加原语,postStart 后,可添加原语
  • 优化 solon-ai-core EmbeddingRequest,ImageRequest,RerankingRequest 当 resp.getError() 非 null 时,直接出抛异常
  • 修复 solon-ai ChatRequestDefault:stream 请求 r1 时,可能会产生两次 tink 消息发射
  • 修复 solon ContextPathFilter 无效地址没有出现 404 的问题(并添加单测)
  • smart-http 升为 2.5.12

项目仓库地址?

官网?

100% 自主可控,Java Solon v3.3.1 发布(国产优秀应用开发基座)的更多相关文章

  1. 智和网管平台国产化AIOps智能运维 建立自主可控网络安全体系

    没有网络安全就没有国家安全,中国作为一个崛起中的大国,网络安全至关重要.新一届中央高度重视信息安全自主可控的发展,Gartner研究报告表明,2019年中国三分之二的数据中心.IT基础设施支出流向中国 ...

  2. 国产安全自主可控IT智能运维管理解决方案

    新一轮科技革命和产业变革席卷全球,大数据.云计算.物联网.人工智能.区块链等新技术不断涌现,数字经济正深刻地改变着人类的生产和生活方式,作为经济增长新动能的作用日益凸显.伴随增长的,还有网络中不断涌现 ...

  3. 只显示 前100个字 java 实现截取字符串!使用! <c:if test="${fn:length(onebeans.info)>100 }">${ fn:substri

    博客 文章 只显示 前100个字 java 实现截取字符串!使用! <c:if test="${fn:length(onebeans.info)>100 }">$ ...

  4. 微信支付java版V3验证数据合法性

    [TOC] 1. 微信支付java版V3验证数据合法性 概要:使用微信支付接口时,微信会返回或回调给商户XML数据,开发者需要验证微信返回的数据是否合法. 特别提醒:商户系统对于支付结果通知的内容一定 ...

  5. 供应链管理为什么要上企业自主可控的免费开源ERP Odoo

    引言 今天的很多企业,无论是制造业,还是商贸行业,如果说没有针对供应链管理的信息系统,那可能是真的冤枉他们了:采购.仓存.销售.存货核算这些模块,早早的买来,早早的用上了,但也早早的被下了结论:食之无 ...

  6. LeetCode高频题目(100)汇总-Java实现

    LeetCode高频题目(100)汇总-Java实现       LeetCode高频题目(100)汇总-Java实现 目录 第01-50题 [Leetcode-easy-1] Two Sum [Le ...

  7. HashiCorp遭禁不必过于担忧,博云云管产品自主可控

    近日,国外知名 DevOps 服务商 HashiCorp 官网相关条款页面更新,声明中表示禁止在中国使用其 Vault 企业版产品,此事件引发国内开源界广泛关注. HashiCorp解释是由于中国的出 ...

  8. [视频]iNeuOS 自主可控工业互联网一体化解决方案 整体介绍

    演示地址:http://demo.ineuos.net  (注:自己注册) iNeuOS 自主可控工业互联网操作系统,提供全新解决方案 核心组件包括:边缘网关(iNeuLink).设备容器(iNeuK ...

  9. DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)

    前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...

  10. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

随机推荐

  1. 淘宝 NPM 镜像站

    应该有不少开发者已经发现,访问淘宝 NPM 已经会自动 301 跳转到 npmmirror.com 新域名,这是我们独立注册和备案的域名. Web 站点:https://npmmirror.com R ...

  2. winform控件 datagridview分页功能 界面实现需要有上一页下一页等操作控件 dataGridView1 控件的数据绑定方式 如何实现分页中的数据修改然后进行保存 请列出详细例子 特别保存部分

    以下提供一个示例来说明如何在 WinForms 中实现分页功能,并在分页中实现数据修改并保存的操作. 首先,我们需要一个包含数据源的 DataGridView 控件,并添加上一页.下一页等操作控件来实 ...

  3. 【Abaqus Case】2D弹塑性接触分析

    2D 弹塑性-接触分析 本案例属于材料非线性+边界条件非线性 问题描述 前处理 材料 *Material, name=steel *Density 7.8e-09, *Elastic 210000., ...

  4. 【CF VP记录】Codeforces Round 1008 (Div. 2)

    比赛链接 本文原文发布于博客园,如您在其他平台刷到此文,请前往博客园获得更好的阅读体验. 跳转链接:https://www.cnblogs.com/TianTianChaoFangDe/p/18766 ...

  5. 使用react-native-drawer,跟着官网配置仍报错,Error: [Reanimated] `valueUnpacker` is not a worklet, js engine: hermes

    在使用react-native-drawer组件时,编译项目报错 试了许多的方法,最后通过在一篇博客中找到解决方法https://blog.csdn.net/lxyoucan/article/deta ...

  6. 如何用js精确计算一行文字的宽度

    之前有做过一个业务,需要在文本框输入文字的时候动态计算一行文字的宽度.并由此知道当前输入的这段文字会有几行. 如何计算? 每个文字的个数*宽度?理论上可行,但是有一个问题是不同类型的文字对应的宽度是不 ...

  7. goland无法识别包

    新建 Go 项目时,一定要通过 "File -> New -> Project..." 方式建立,千万不要通过 "File -> Open", ...

  8. ORACLE SQL中执行先后次序的问题

    分享一个经验 需求:Oracle中,根据COST优先级取最优先的一条记录脚本: select ... from ... where ... and rownum=1 order by cost 实际不 ...

  9. vmware vsphere 6.5

    vmware vsphere 6.5是vsphere软件的经典版本,也是一款业界领先的服务器虚拟化平台,作为基础平台,是任何云计算环境的理想之选,其组件包括vCenter Server.ESXi.vS ...

  10. BUUCTF---robomunication

    略有抽象,第一次接触直接上题解吧