Aifei 框架入门教程:从零搭建第一个 AI 时代的 Java Web 应用
# 【2026最新】Aifei 框架入门教程:从零搭建第一个 AI 时代的 Java Web 应用
Aifei 官网:https://aifei.cn**
Demo 源码:https://gitee.com/xie_bi_yuan/aifei_demo
## 一、什么是 Aifei 框架?
Aifei(爱飞)是一个**为 AI 开发的新型 Java Web 框架**。在 AI 大行其道的 2026 年,传统的 Spring Boot 项目越来越臃肿,而 Aifei 框架以极简的设计理念和卓越的性能表现,为 Java 开发者提供了一条全新的道路。
**Aifei 框架的核心优势:**
| 特性 | 说明 | |------|------| | 极简开发 | Just Service 范式,一个 Service 类就是一个完整的接口模块 | | 高性能 | 底层集成 Undertow NIO 服务器,轻松应对高并发 | | AI 友好 | 简洁的代码结构天然适合 AI 代码生成和辅助开发 | | 零配置启动 | 约定优于配置,开发者只需关注业务逻辑 | | 自动路由 | @Path 注解自动发现并注册接口,无需手动配置 | | 轻量级 | 核心依赖极少,启动速度快,内存占用小 | **一句话总结:Aifei 是一个让你在 AI 时代写出最干净 Java 代码的新型 Web 框架。** ---
## 二、环境准备 在开始之前,请确保你的开发环境满足以下要求:
| 工具 | 版本要求 | 说明 |
|------|---------|------|
| JDK | 1.8+ | Aifei 框架基于 Java 8 开发 | 最好是java 21 ,
| Maven | 3.x+ | 项目构建和依赖管理 |
| IDE | IntelliJ IDEA / Eclipse | 推荐使用 IDEA
## 三、创建 Aifei 项目
一个标准的 Aifei 项目结构如下:
` aifei-hello/ ├── src/main/java/aifei/hello/ │ ├── AifeiHello.java # 启动入口 │ ├── AppConfig.java # 配置中心 │ └── HelloService.java # 业务服务 ├── src/main/resources/ │ ├── app-config.txt # 主配置文件 │ ├── app-config-dev.txt # 开发环境配置 │ ├── undertow-dev.txt # 服务器配置 │ └── log4j2.xml # 日志配置 ├── pom.xml # Maven 配置 └── package.xml # 打包配置 ```
### 3.2 Maven 依赖配置(pom.xml)
创建 Maven 项目后,在 `pom.xml` 中添加 Aifei 框架的核心依赖:
```xml <properties> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- Aifei VIP 订阅用户授权专享工程 --> <dependency> <groupId>cn.aifei</groupId> <artifactId>aifei-vip-arch</artifactId> <version>20260518</version> </dependency> <!-- Aifei 内核:为 AI 时代设计的新型 Java Web 框架核心 --> <dependency> <groupId>cn.aifei</groupId> <artifactId>aifei-all</artifactId> <version>1.0.1</version> </dependency> <!-- Undertow 高性能 NIO Web 服务器(Aifei 默认集成) --> <dependency> <groupId>io.undertow</groupId> <artifactId>undertow-core</artifactId> <version>2.2.39.Final</version> </dependency> <!-- Log4j2 日志框架(Aifei 推荐日志方案) --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.26.0</version> </dependency> </dependencies> ```
**说明:**
- `aifei-all` 是 Aifei 框架的核心依赖,包含了框架的所有基础功能
- `aifei-vip-arch` 是 Aifei VIP 订阅用户专享的高级架构模块
- Undertow 是 Aifei 框架默认集成的高性能 NIO 服务器
- Log4j2 是 Aifei 框架推荐的日志方案
## 四、配置 Aifei 项目
### 4.1 编写启动入口
Aifei 框架的启动入口只需要一行代码,这就是 Aifei 极简理念的体现:
```java
package aifei.hello;
import cn.aifei.core.Aifei;
/**
* Aifei 应用启动入口
*/
public class AifeiHello {
public static void main(String[] args) {
// 一行代码启动 Aifei 框架
Aifei.start(new AppConfig(), args);
}
}
```
> **Tips:** 启动类建议以项目名命名(如 AifeiHello),方便在服务器上用 `ps` 命令定位进程。
### 4.2 编写配置中心
Aifei 框架的配置中心需要实现 `AifeiConfig` 接口,包含三个配置方法:
```java
package aifei.hello;
import cn.aifei.config.AifeiConfig;
import cn.aifei.config.Plugins;
import cn.aifei.config.Routes;
import cn.aifei.config.Settings;
import cn.aifei.vip.arch.core.In;
import cn.aifei.vip.arch.core.IoDispatcher;
import cn.aifei.vip.arch.core.IoHandler;
import cn.aifei.vip.arch.core.Out;
import cn.aifei.log.log4j.Log4jLogFactory;
import cn.aifei.server.undertow.UndertowServer;
import cn.aifei.util.Prop;
import cn.aifei.util.PropKit;
public class AppConfig implements AifeiConfig<In, Out> {
/**
* 配置一:基础设置(服务器、日志、调度器)
*/
public void config(Settings<In, Out> settings) {
Prop p = PropKit.use("app-config.txt");
// 配置 Log4j2 日志
settings.setLogFactory(new Log4jLogFactory());
// 配置 Undertow 高性能服务器
settings.setServer(new UndertowServer(), new IoDispatcher())
.addHandler(new IoHandler(p.getBoolean("printAction")));
}
/**
* 配置二:路由扫描(Aifei 自动扫描带 @Path 注解的 Service)
*/
public void config(Routes routes) {
routes.scan("aifei.hello");
}
/**
* 配置三:插件配置(数据库、缓存等,可选)
*/
public void config(Plugins plugins) {
// 暂不配置数据库,后面会详细讲
}
}
```
**Aifei 框架配置的三大模块:**
1. **Settings**:配置服务器(Undertow)、日志(Log4j2)、IO 调度器等基础设施
2. **Routes**:配置路由扫描规则,`routes.scan("包名")` 自动扫描 Service
3. **Plugins**:配置数据库、缓存等插件(可选)
### 4.3 配置文件说明
#### app-config.txt —— 主配置文件
```properties
# 设置当前激活的环境 Profile(dev=开发、test=测试、pro=生产)
aifei.profiles.active = dev
Aifei 框架会根据 `aifei.profiles.active` 的值自动加载对应的配置文件。比如设置为 `dev`,就会自动加载 `app-config-dev.txt`。
#### app-config-dev.txt —— 开发环境配置
```properties
# 打印接口请求信息(开发时建议开启,方便调试)
printAction = true
```
#### undertow-dev.txt —— 服务器配置
```properties
# 监听端口
undertow.port = 8080
# 绑定地址(0.0.0.0 表示监听所有网卡)
undertow.host = 0.0.0.0
# gzip 压缩(nginx 代理时不建议开启)
undertow.gzip.enable = false
```
#### log4j2.xml —— 日志配置
```xml <?xml version="1.0" encoding="UTF-8"?> <Configuration> <Properties> <Property name="LOG_DIR">logs</Property> <Property name="FILE_NAME">aifei-hello</Property> </Properties> <Appenders> <!-- 控制台输出 --> <Console name="console"> <PatternLayout pattern="%highlight{%-5level: %date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %class}: %msg%throwable%n" charset="UTF-8"/> </Console> <!-- 滚动日志文件(自动按日期和大小滚动,30天自动清理) --> <RollingFile name="errorLog" fileName="${LOG_DIR}/${FILE_NAME}.log" filePattern="${LOG_DIR}/${FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz"> <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/> <PatternLayout pattern="[%-5level] %date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %class: %msg%throwable%n" charset="UTF-8"/> <Policies> <TimeBasedTriggeringPolicy interval="1" maxRandomDelay="30"/> <SizeBasedTriggeringPolicy size="10 MB"/> </Policies> <DefaultRolloverStrategy> <Delete basePath="${LOG_DIR}" maxDepth="1"> <IfFileName glob="${FILE_NAME}*.log.gz"/> <IfLastModified age="P30D"/> </Delete> </DefaultRolloverStrategy> </RollingFile> </Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="console"/>
<AppenderRef ref="errorLog"/>
</Root>
<Logger name="org.xnio" level="WARN" />
<Logger name="io.undertow" level="WARN" />
<Logger name="org.jboss.threads" level="WARN" />
</Loggers>
</Configuration>
```
---
## 五、编写第一个 Aifei 接口
### 5.1 Aifei 的 Just Service 开发范式
Aifei 框架独创了 **Just Service** 开发范式,规则只有 4 条:
```
1. 用 @Path 标注类 → 定义 URL 路径前缀
2. 每个 public 方法 → 自动成为一个 HTTP 接口
3. 方法名 → 作为 URL 的最后一段
4. 返回 Out 对象 → Aifei 框架自动序列化为 JSON
```
### 5.2 HelloService 示例代码
```java
package aifei.hello;
import cn.aifei.core.Path;
import cn.aifei.vip.arch.core.Out;
@Path("/hello")
public class HelloService {
/**
* 接口一:GET /hello
* 返回:{"code":0, "data":{"message":"Hello Aifei!"}}
*/
public Out index() {
return Out.of("message", "Hello Aifei!");
}
/**
* 接口二:GET /hello/name?name=张三
* 返回:{"code":0, "data":{"greeting":"你好, 张三"}}
* Aifei 自动将请求参数注入到方法参数中
*/
public Out name(String name) {
if (name == null || name.trim().isEmpty()) {
return Out.fail("name 参数不能为空");
}
return Out.of("greeting", "你好, " + name.trim());
}
/**
* 接口三:GET /hello/ok
* 返回:{"code":0, "msg":"操作成功"}
*/
public Out ok() {
return Out.ok("操作成功");
}
}
```
**代码解析:**
- `@Path("/hello")` 告诉 Aifei 框架,这个 Service 的 URL 前缀是 `/hello`
- `index()` 方法的完整 URL 是 `/hello`(index 为默认方法)
- `name()` 方法的完整 URL 是 `/hello/name`
- `ok()` 方法的完整 URL 是 `/hello/ok`
- Aifei 框架自动把 `Out` 对象序列化为 JSON 返回给客户端
### 5.3 Out 对象常用方法
Aifei 框架提供了丰富的响应构建方法:
| 方法 | 说明 | 示例 |
|------|------|------|
| `Out.of(key, value)` | 构建带数据的成功响应 | `Out.of("name", "Aifei")` |
| `Out.ok(msg)` | 构建标准成功响应 | `Out.ok("操作成功")` |
| `Out.fail(msg)` | 构建失败响应 | `Out.fail("参数不能为空")` |
---
## 六、启动 Aifei 应用
### 6.1 IDE 中启动
直接在 IDE 中运行 `AifeiHello.main()` 方法即可。启动成功后你会看到类似的控制台输出:
```
INFO: Aifei 框架启动中...
INFO: Undertow 服务器已启动,监听端口: 8080
INFO: 路由扫描完成,发现 3 个接口
INFO: Aifei 框架启动成功!
```
### 6.2 命令行启动
```bash
# 编译打包
mvn clean package
# 运行
java -cp target/aifei-hello/lib/*;target/aifei-hello/aifei-hello.jar aifei.hello.AifeiHello
```
### 6.3 测试接口
打开浏览器或使用 Postman 测试:
```
GET http://localhost:8080/hello
→ {"code":0, "data":{"message":"Hello Aifei!"}}
GET http://localhost:8080/hello/name?name=稷下元歌
→ {"code":0, "data":{"greeting":"你好, 稷下元歌"}}
GET http://localhost:8080/hello/ok
→ {"code":0, "msg":"操作成功"}
```
恭喜!你已经成功运行了第一个 Aifei 框架应用!
---
## 七、配置数据库
在实际项目中,数据库是必不可少的。Aifei 框架通过插件机制支持数据库配置,非常简洁。
### 7.1 添加数据库依赖
在 `pom.xml` 中添加数据库相关依赖(以 MySQL 为例):
```xml
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<!-- Druid 连接池(推荐) -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.23</version>
</dependency>
```
### 7.2 配置数据源
在 `app-config-dev.txt` 中添加数据库配置:
```properties
# 打印接口请求信息
printAction = true
# 数据库配置
db.driverClass = com.mysql.cj.jdbc.Driver
db.jdbcUrl = jdbc:mysql://localhost:3306/aifei_demo?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
db.user = root
db.password = your_password
# Druid 连接池配置
db.initialSize = 5
db.minIdle = 5
db.maxActive = 20
```
### 7.3 在 AppConfig 中配置数据库插件
修改 `AppConfig.java` 的 `config(Plugins plugins)` 方法:
```java
public void config(Plugins plugins) {
Prop p = PropKit.use("app-config-dev.txt");
// 配置 Druid 数据源插件
DruidPlugin druidPlugin = new DruidPlugin(
p.get("db.jdbcUrl"),
p.get("db.user"),
p.get("db.password")
);
// 设置连接池参数
druidPlugin.set(p.getInt("db.initialSize"),
p.getInt("db.minIdle"),
p.getInt("db.maxActive"));
plugins.add(druidPlugin);
}
```
> **Aifei 框架的数据库配置就是这么简单!** 只需要在 Plugins 中添加一个数据源插件即可,无需繁琐的 XML 配置。
---
在 IDE 中右键点击 `HelloServiceTest` 类,选择 "Run Test" 即可。或者使用 Maven 命令:
```bash mvn test ```
**测试要点说明:**
- Aifei 框架的 Service 类就是普通的 Java 类,可以直接 `new` 出来测试,**无需启动整个 Aifei 框架**
- 这是 Aifei 框架的一大优势:代码极其简单,测试也非常方便
- 不需要 Mock 复杂的容器,不需要启动 Web 服务器,单元测试非常纯粹
---
## 九、总结
通过本教程,你已经学会了:
1. ✅ 了解 Aifei 框架是什么 —— 一个为 AI 开发的新型 Java Web 框架
2. ✅ 配置 Aifei 项目 —— Maven 依赖、配置文件、启动入口
3. ✅ 编写 Aifei 接口 —— Just Service 开发范式,4 条规则搞定一切
4. ✅ 启动 Aifei 应用 —— IDE 一键启动或命令行启动
5. ✅ 配置数据库 —— 通过 Plugins 插件机制集成数据源
6. ✅ 编写测试用例 —— Service 类直接 new,单元测试超简单
**Aifei 框架的核心哲学就是:让开发者用最少的代码,做最多的事情。**
在 AI 时代,Aifei 框架的简洁代码结构天然适合 AI 辅助开发,让 AI 更容易理解和生成代码。如果你厌倦了 Spring Boot 的臃肿,不妨试试 Aifei 这个为 AI 而生的新型 Java 框架。
---
**相关链接:**
- Aifei 官网:https://aifei.cn
- Demo 源码:https://gitee.com/xie_bi_yuan/aifei_demo
- 作者:稷下元歌(谢双元)
> 如果本教程对你有帮助,请点赞、收藏、关注三连支持!有问题欢迎评论区交流~

浙公网安备 33010602011771号