飞算JavaAI 一键生成完整工程代码:从零搭建前后端项目的终极指南
还在手动创建项目结构、配置依赖、编写模板代码?飞算JavaAI的"一键生成完整工程代码"功能,让你从需求描述到前后端项目落地,全程自动化。
一、功能概述
飞算JavaAI的"生成源码"功能是智能引导五步流程的最后一步,也是最关键的一步。它能够根据前四步(需求理解、接口设计、表结构设计、处理逻辑)的结果,一键生成完整的Java工程级源代码项目包。
生成的内容包括但不限于:
- Java源代码(Controller、Service、Repository、Entity等各层)
- SQL脚本(建表语句、初始化数据)
- 配置文件(application.yml、pom.xml等)
- 前端项目代码(可选)
- API文档
二、两种项目模式
飞算JavaAI提供两种源码生成模式:
1. 创建项目(推荐)
创建项目模式会将生成的源码作为一个独立的项目存在,适合需要单独管理或部署的新项目。同时支持同时生成前端项目。
2. 关联项目
关联项目模式会将生成的源码合并到指定的已有项目目录中,适合在现有项目中新增功能模块。
三、创建项目详细步骤
第1步:选择创建模式
在输入需求描述的步骤时,选择"创建项目",然后选择"Java Web工程(新版)"。
可以根据需求选择是否添加上下文。添加上下文后,生成的源码更符合您的要求。
第2步:填写项目配置信息
后端项目配置:
| 配置项 | 说明 |
|---|---|
| 根包名 | 项目的根包名,如 com.example.bookmanagement |
| 项目名称 | 项目名称,如 book-management |
| 项目根路径 | application中 context-path 路径,如 /book-api |
| 规则文件 | 选择规则文件(可选),不选则使用默认规则 |
前端项目配置:
| 配置项 | 说明 |
|---|---|
| 项目名称 | 前端项目名称 |
| 规则文件 | 选择规则文件(可选) |
重要选项说明:
- 规则文件:可单击"管理"进行增删改操作,不选择则使用默认规则
- 优化代码:右下角可选择是否优化生成的代码
- 构建工具:可选择Maven(默认)或Gradle
第3步:等待生成源码
基础设置会自动缩小,单击"查看"可查看基础信息。系统会自动生成源码文件,这个过程通常需要几分钟。
第4步:预览代码内容
生成完成后,单击已生成的Java文件可查看代码内容。
注意事项:
- 查看代码文件只是预览,因未加载所需jar包,代码飘红属于正常现象
- 选择文件后合并,就不会飘红
- 左侧为已有代码,右侧为新代码,展示比对结果
第5步:保存项目
- 生成完毕后,单击"打开项目"
- 选择项目保存目录
- 点击确定
第6步:自动打开项目
IntelliJ IDEA会自动打开两个窗口:
- 后端项目窗口
- 前端项目窗口
打开项目后,启动编译项目即可运行。
四、默认代码规则解析
当不选择自定义规则文件时,系统使用默认规则生成源码。以下是默认规则的核心要点:
技术栈
<!-- 默认技术栈:Spring Boot 3.x + Java 17 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.x.x</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
分层架构
生成的代码严格遵循分层架构:
Controller层示例:
@RestController
@RequestMapping("/api/users")
public class UserController {
private final UserService userService;
public UserController(UserService userService) {
this.userService = userService;
}
@PostMapping("/register")
public Result<UserVO> register(@Valid @RequestBody UserRegisterDTO dto) {
return Result.success(userService.register(dto));
}
@PostMapping("/login")
public Result<String> login(@Valid @RequestBody UserLoginDTO dto) {
return Result.success(userService.login(dto));
}
}
Service层示例:
public interface UserService {
UserVO register(UserRegisterDTO dto);
String login(UserLoginDTO dto);
}
@Service
@Transactional
public class UserServiceImpl implements UserService {
private final UserRepository userRepository;
private final PasswordEncoder passwordEncoder;
public UserServiceImpl(UserRepository userRepository,
PasswordEncoder passwordEncoder) {
this.userRepository = userRepository;
this.passwordEncoder = passwordEncoder;
}
@Override
public UserVO register(UserRegisterDTO dto) {
if (userRepository.existsByUsername(dto.getUsername())) {
throw new BusinessException("用户名已存在");
}
User user = new User();
user.setUsername(dto.getUsername());
user.setPassword(passwordEncoder.encode(dto.getPassword()));
user.setEmail(dto.getEmail());
User saved = userRepository.save(user);
return UserVO.fromEntity(saved);
}
}
Repository层示例:
public interface UserRepository extends JpaRepository<User, Long> {
boolean existsByUsername(String username);
Optional<User> findByUsername(String username);
}
命名规范
生成的代码遵循阿里巴巴命名规范:
| 类型 | 后缀 | 用途 |
|---|---|---|
| DTO | Data Transfer Object | 服务间数据传输 |
| DO | Data Object | 数据库实体数据 |
| BO | Business Object | 封装业务逻辑 |
| VO | View Object | 展示数据给前端 |
| Query | Query | 查询条件参数 |
安全规范
- 使用
@Valid注解进行输入校验 - 禁止直接拼接SQL,防止注入攻击
@Transactional仅用于Service方法- 使用SLF4J记录日志
// 输入校验示例
public class UserRegisterDTO {
@NotBlank(message = "用户名不能为空")
@Size(min = 3, max = 20, message = "用户名长度3-20个字符")
private String username;
@NotBlank(message = "密码不能为空")
@Size(min = 6, max = 50, message = "密码长度6-50个字符")
private String password;
@Email(message = "邮箱格式不正确")
private String email;
}
五、关联子模块功能
对于大型项目,飞算JavaAI支持关联子模块功能。生成的源码可以作为子模块集成到已有的多模块项目中。
使用场景:
- 微服务架构中新增服务模块
- 多模块项目中添加新的业务模块
- 需要将生成的代码集成到已有的Maven/Gradle多模块项目结构中
六、代码优化功能
生成源码后,飞算JavaAI还提供代码优化功能,可以对生成的代码进行进一步优化:
- 代码结构优化
- 性能优化建议
- 安全性检查
- 代码规范检查
七、实际项目搭建示例
以一个"图书借阅管理系统"为例,展示完整的创建流程:
需求输入:
开发一个图书借阅管理系统,包含用户注册登录、图书信息管理、借阅归还功能。用户可以查询图书、借阅图书、归还图书;管理员可以添加、修改、删除图书信息。
生成结果:
后端项目结构:
book-management/
├── src/main/java/com/example/bookmanagement/
│ ├── controller/
│ │ ├── UserController.java
│ │ ├── BookController.java
│ │ └── BorrowRecordController.java
│ ├── service/
│ │ ├── UserService.java
│ │ ├── BookService.java
│ │ ├── BorrowRecordService.java
│ │ └── impl/
│ │ ├── UserServiceImpl.java
│ │ ├── BookServiceImpl.java
│ │ └── BorrowRecordServiceImpl.java
│ ├── repository/
│ │ ├── UserRepository.java
│ │ ├── BookRepository.java
│ │ └── BorrowRecordRepository.java
│ ├── entity/
│ │ ├── User.java
│ │ ├── Book.java
│ │ └── BorrowRecord.java
│ ├── dto/
│ │ ├── UserRegisterDTO.java
│ │ ├── BookQueryDTO.java
│ │ └── BorrowRecordDTO.java
│ ├── vo/
│ │ ├── UserVO.java
│ │ ├── BookVO.java
│ │ └── BorrowRecordVO.java
│ └── config/
│ └── SecurityConfig.java
├── src/main/resources/
│ ├── application.yml
│ └── db/
│ └── init.sql
└── pom.xml
八、最佳实践
- 先完成需求描述再生成:确保前四步的内容完整且准确,再进行源码生成
- 使用自定义规则:根据团队规范创建规则文件,确保代码风格一致
- 开启代码优化:生成时勾选"优化代码"选项,获得更高质量的代码
- 合理设置包路径:根包名要符合团队规范,避免后续大量重命名
- 预览检查再保存:生成后先预览代码内容,确认无误再保存到本地
九、总结
飞算JavaAI的"一键生成完整工程代码"功能,通过六个简单步骤——选择模式、填写配置、等待生成、预览代码、保存项目、自动打开——实现了从需求到可运行项目的全自动化。配合默认规则体系(Spring Boot 3.x + Java 17 + JPA + 分层架构),生成的代码不仅结构清晰,而且符合行业标准。
对于开发者而言,这意味着可以将更多精力放在业务逻辑的深度思考和系统架构的优化上,而将重复性的模板代码工作交给AI完成。这正是AI辅助编程的核心价值所在。
官方文档:https://www.feisuanyz.com/docs/languages/generateSourceCode/createProjectNew.html
221

被折叠的 条评论
为什么被折叠?



