我们激动地宣布,经过精心打磨与持续迭代,Feat v1.1 版本今日正式发布!
Feat 是一款专注于高性能、低资源消耗的 Java Web 服务开发框架,旨在为开发者提供一个构建高效、灵活、可扩展的企业级 Web 应用的全新选择。
它兼具了堪比 Vert.x 的高性能异步模型和 Spring Boot 的便捷开发体验,致力于在性能与易用性之间取得最佳平衡。
Feat 核心特性:
-
极致性能:基于成熟的智能异步通信框架
smart-socket
,Feat 能够轻松应对高并发场景,提供卓越的性能表现。 -
全面的协议支持:内置对 HTTP/1.0, HTTP/1.1, HTTP/2.0, WebSocket, 以及 Server-Sent Events (SSE) 的完整支持,满足多样化的通信需求。
-
轻量级核心 (
feat-core
):提供了纯粹的 HTTP 服务器与客户端实现,开发者可以基于此构建高度定制化的应用,最大限度地控制资源消耗和启动速度。 -
便捷的云原生开发体验 (
feat-cloud
):如果您熟悉 Spring Boot 的开发模式,feat-cloud 模块将为您带来惊喜。它提供了依赖注入、注解式路由、自动配置等特性,让您能够快速上手并高效开发复杂的 Web 应用。 -
集成 AI 能力 (
feat-ai
):紧跟时代潮流,Feat 集成了 AI 功能,目前已支持 Gitee AI 的聊天模型和 Embedding 模型,助力开发者轻松构建智能化应用。 -
灵活的扩展性:通过插件化的设计和丰富的配置选项,您可以根据项目需求灵活定制框架功能,例如轻松集成 HTTPS (支持 PEM 证书)、配置静态资源服务等。
-
简洁易用的 API:我们精心设计了 Feat 的 API,力求简洁直观,降低学习曲线,让开发者能够更专注于业务逻辑的实现。
主要模块概览:
-
feat-core:项目的核心,提供底层的 HTTP 服务和客户端能力。
-
feat-cloud:提供类似 Spring Boot 的开发体验,简化企业级应用开发。
-
feat-ai:集成 AI 能力,赋能智能化应用。
-
feat-cloud-starter:
feat-cloud
的启动器和自动配置模块。
更新内容
Feat Core
-
限制单进程内 Feat Banner 最多输出一次。
-
Router
支持定义相同 URL、不同 HTTP Method 的接口服务,提升 API 设计的灵活性。 -
RunLogger 自动感应日志级别变化,支持动态调整日志级别。
-
日志级别环境变量由
smarthttp.log.level
调整为feat.log.level
。 -
将 DateUtils、GzipUtils、HttpUtils、NumberUtils、StringUtils、CollectionUtils、Constant、SHA1、WebSocketUtil 等工具类能力统一汇集至
FeatUtils
中,简化使用成本。 -
ByteTree 不再支持匹配期间动态 addNode,保障内存使用稳定性。
-
升级 smart-socket 至 1.5.69。
Feat Cloud
-
新增
feat.yaml
/feat.yml
配置文件解析,并通过@Value
注入 Bean 或 Controller中。(类似 Spring 的application.yaml
) -
支持运行时动态调整指定
loggerName
的日志级别,便于灵活监控与调试。 -
ApplicationContext 新增 getOptions 方法用于获 Feat Cloud 配置。
-
Annotation Processor 重构,简化代码复杂度,提升扩展性。
-
编译器自动将非统配 URI 注册至 ByteTree,提升解析性能。
六月份社区福利
本期社区福利已开放,感兴趣的朋友可前往 Feat 的Gitee 仓库参加
链接地址:https://gitee.com/smartboot/feat/issues/ICEY15
快速开始:
在您的 Maven 项目中添加 feat-core
依赖:
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-core</artifactId>
<version>1.1.0</version> <!-- 请替换为最新的版本 -->
</dependency>
创建一个简单的 HTTP 服务:
import tech.smartboot.feat.core.server.HttpServer;
public class HelloWorld {
public static void main(String[] args) {
Feat.httpServer()
.httpHandler(request -> request.getResponse().write("Hello Feat v1.0!"))
.listen(8080);
}
}
如果您希望获得更便捷的开发体验,可以引入 feat-cloud-starter
:
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud-starter</artifactId>
<version>1.1.0</version> <!-- 请替换为最新的版本 -->
</dependency>
然后使用 FeatCloud 启动您的应用:
import tech.smartboot.feat.cloud.FeatCloud;
@Controller
publicclassCloudApplication {
@RequestMapping("/")
public String helloWorld() {
return"hello Feat Cloud";
}
publicstaticvoidmain(String[] args) {
FeatCloud.cloudServer().listen(8080);
}
}
展望未来:
Feat v1.1 的发布是一个重要的里程碑,但我们的脚步不会停止。未来,我们将持续投入,进一步提升性能、完善功能、丰富生态,并积极探索与更多前沿技术的结合。
我们诚挚邀请广大 Java 开发者体验 Feat v1.1,并期待您的宝贵反馈和贡献!
-
官方文档:https://smartboot.tech/feat
-
GitHub 仓库:https://github.com/smartboot/feat
-
Gitee 仓库:https://gitee.com/smartboot/feat
-
Feat授权方案:https://smartboot.tech/feat/auth/
感谢每一位关注和支持 Feat 的朋友!让我们一起用 Feat 构建更美好的 Web 服务!
Feat 开发团队