可替代 Spring,国产 Solon v2.6.3 发布

Solon 是什么框架?

Java 新的"生态级"应用开发框架从零开始构建,有自己的标准规范与开放生态(历时六年,具备全球第二级别的生态规模)。

相对于 Spring,有什么特点?

  • 国产!国产!国产!
  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 低流量内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image

最近更新了什么?

  • 发布 Solon FaaS
  • 修复 solon.luffy 插件 JtFunctionLoaderClasspath 可能会出现 null 异常的问题
  • 修复 solon.luffy 插件 XFun.callFile 的执行兼容性(添加 file_id 赋值)
  • 修复 Solon.cfg().stopSafe() 自动配置失效的问题
  • 修复 war 部署时 contextPath 自动识别失效的问题
  • 调整 contextPath 配置,支持 ‘!’ 开头(表示强制模式,即不再支持旧的地址请求)
  • 调整 solon.net 把 socketd 包改为 provided
  • 调整 Utils::mime 添加默认处理
  • 添加 ConvertUtil 对 Byte 类型的默认解析
  • smart-http 升为 1.3.6
  • luffy 升为 1.7.2
  • folkmq 升为 1.0.22
  • socket.d 升为 2.1.14
  • sqltoy 升为 5.2.86
  • beetl 升为 3.15.12.RELEASE
  • beetlsql 升为 3.27.3-RELEASE
  • netty 升为 4.1.101.Final

项目仓库地址?

### 集成DeepSeek至Solon框架 为了使Solon框架能够成功集成并利用DeepSeek的功能,需遵循特定配置流程。虽然提供的参考资料未直接提及此集成过程[^1],基于对Solon扩展机制的理解以及第三方服务的一般集成模式,可以构建一套合理的解决方案。 #### 一、引入依赖项 首先,在项目的`pom.xml`文件中加入必要的Maven依赖来支持DeepSeek功能: ```xml <dependency> <groupId>com.deepseek</groupId> <artifactId>deepseek-client</artifactId> <version>${latest.version}</version> </dependency> ``` 这里`${latest.version}`应替换为实际使用的最新版本号。 #### 二、初始化客户端实例 建一个用于管理DeepSeek连接和服务调用的工具类或组件。这通常涉及到读取配置参数(如API密钥)、建立网络通渠道等工作。假设存在如下简单的Java Bean定义: ```java package com.example; import org.noear.solon.annotation.Component; import com.deepseek.client.DeepSeekClient; @Component public class DeepSeekService { private final DeepSeekClient client; public DeepSeekService() { this.client = new DeepSeekClient("your_api_key"); } // 提供具体业务逻辑的方法... } ``` 上述代码展示了如何通过构造函数注入的方式完成DeepSeek Client对象的初始化工作,并将其封装在一个Spring风格的Bean内以便后续使用。 #### 三、应用层面集成 为了让应用程序中的各个部分都能够方便地访问到已经准备好的DeepSeek资源,可以通过AOP切面编程技术或者更简单地将该bean作为属性成员嵌入其他controller/service层组件之中。例如: ```java package com.test; import org.noear.solon.annotation.Controller; import org.noear.solon.annotation.Inject; import org.noear.solon.annotation.Mapping; @Controller public class SearchController { @Inject private DeepSeekService deepSeekService; @Mapping("/search") public String search(String query){ return deepSeekService.search(query); } } ``` 这段示例说明了怎样把之前声明的服务级组件纳入控制器处理链路当中去,从而实现了对外部搜索引擎能力的有效调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值