目录
一,核心功能
1,智能编码(AI Coding)
自然语言生成代码:输入“创建 SpringBoot 用户登录接口,使用 JWT 鉴权”,自动生成 Controller、Service 完整代码。
代码补全增强:基于项目上下文,智能推荐方法链、API 调用。
代码解释/重构:一键解析复杂逻辑,提出可读性优化建议
2,AI 驱动测试(AI Testing)
单元测试生成:根据业务代码自动生成 JUnit/Mockito 测试用例,覆盖边界场景。
测试覆盖率分析:标记未覆盖分支,推荐补充用例。
3,智能运维(AIOps)
日志根因分析:自动关联错误日志,定位异常源头(如空指针、SQL 超时)。
性能优化建议:识别慢 SQL、内存泄漏,推荐 JVM 调优参数。
4,工程化支持
快速生成 Spring Boot 项目脚手架。
支持 MyBatis 映射文件与接口的智能同步。
二、注册与上手:3 分钟快速开始
1,访问官网
https://www.feisuan.com/
2,填写注册信息
然后基于IntelliJ IDEA下载对应插件即可:
然后跳转完成登录即可。
三、使用样例1:生成 SpringBoot 分页查询接口
场景需求:
创建一个商品分页查询接口,支持按名称模糊搜索
操作步骤:
1,在 IDE 中输入自然语言指令:
生成 SpringBoot 商品分页查询接口,使用 JPA 实现:
- 请求路径:/api/products
- 参数:name (可选), page (默认0), size (默认10)
- 返回:分页数据(包含商品 ID、名称、价格)
2,AI 生成核心代码:
// 1. 生成 Repository 接口
public interface ProductRepository extends JpaRepository<Product, Long> {
Page<Product> findByNameContaining(String name, Pageable pageable);
}
// 2. 生成 Service 层
@Service
public class ProductService {
@Autowired
private ProductRepository productRepository;
public Page<Product> searchProducts(String name, int page, int size) {
Pageable pageable = PageRequest.of(page, size);
if (name != null && !name.isEmpty()) {
return productRepository.findByNameContaining(name, pageable);
}
return productRepository.findAll(pageable);
}
}
// 3. 生成 Controller(自动添加 Swagger 注解)
@RestController
@RequestMapping("/api/products")
public class ProductController {
@Autowired
private ProductService productService;
@GetMapping
public ResponseEntity<Page<Product>> getProducts(
@RequestParam(required = false) String name,
@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "10") int size) {
return ResponseEntity.ok(productService.searchProducts(name, page, size));
}
}
关键优化:
自动处理 name参数为空时的全量查询
为
@RequestParam
设置默认值添加
ResponseEntity
标准化返回
3,自动补充 Service 层逻辑与 JPA 查询方法,并生成 Swagger 文档注释。
四,使用样例2: 基于消息队列的订单超时取消
场景需求:
用户下单后 30 分钟未支付,自动取消订单并释放库存。
操作步骤:
1,指令输入:
设计订单超时取消方案:
1. 使用 RabbitMQ 延时队列
2. 订单创建时发送延时消息
3. 到期检查支付状态,未支付则取消订单
4. 保证消息处理的幂等性
2,AI 生成完整方案:
// 1. 配置延时队列(AI 生成 Spring Boot 配置类)
@Configuration
public class RabbitMQConfig {
// 创建延时队列(DLX 为死信交换机)
@Bean
public Queue orderDelayQueue() {
return QueueBuilder.durable("order.delay.queue")
.withArgument("x-dead-letter-exchange", "order.cancel.exchange")
.withArgument("x-dead-letter-routing-key", "order.cancel")
.build();
}
// 绑定死信交换机到取消队列
@Bean
public Binding cancelBinding() {
return new Binding("order.cancel.queue",
Binding.DestinationType.QUEUE,
"order.cancel.exchange",
"order.cancel",
null);
}
}
// 2. 订单创建时发送延时消息(AI 生成 Service 代码)
@Service
public class OrderService {
@Autowired
private RabbitTemplate rabbitTemplate;
public void createOrder(Order order) {
// 保存订单到 DB...
// 发送延时消息(30分钟后到期)
rabbitTemplate.convertAndSend(
"order.delay.queue",
order.getOrderId(),
message -> {
message.getMessageProperties().setExpiration("1800000"); // 30分钟
return message;
}
);
}
}
// 3. 消费消息执行取消(AI 生成监听器,含幂等处理)
@Component
public class OrderTimeoutListener {
@Autowired
private OrderService orderService;
@RabbitListener(queues = "order.cancel.queue")
public void handleOrderCancel(String orderId) {
// 检查订单状态(幂等性关键)
Order order = orderService.getOrderById(orderId);
if (order.getStatus() == OrderStatus.UNPAID) {
// 执行取消:释放库存、更新订单状态
orderService.cancelOrder(orderId);
}
}
}
关键优化:
自动搭建 RabbitMQ 延时队列拓扑结构
消息消费时通过 订单状态校验 实现幂等性
完整链路:订单创建 → 延时消息投递 → 死信路由 → 取消执行
五、横向对比:飞算 vs 主流 AI 编程工具
能力 | 飞算 Java AI | GitHub Copilot | 通义灵码 | Amazon CodeWhisperer |
---|---|---|---|---|
Java 深度优化 | ✅ 专为 Spring/MyBatis 设计 | ⚠️ 通用型 | ✅ 支持阿里系框架 | ⚠️ 通用型 |
生成准确性 | ✅ 高(针对 Java 业务逻辑) | ✅ 高 | ✅ 高 | ⚠️ 中等 |
运维诊断 | ✅ 日志分析+性能优化 | ❌ 不支持 | ⚠️ 基础异常提示 | ❌ 不支持 |
本地化支持 | ✅ 中文指令/文档/客服 | ⚠️ 英文为主 | ✅ 中文优化 | ⚠️ 英文为主 |
代码安全 | ✅ 私有化部署选项 | ✅ GitHub 托管 | ✅ 阿里云环境隔离 | ✅ AWS 生态集成 |