1. 引言

在快节奏的开发环境中,加速开发流程对高效交付项目至关重要。生成样板代码和配置文件能显著简化这个过程。

Bootify 提供了强大的 Spring Boot 原型解决方案。通过自动创建标准组件和配置,Bootify 让我们绕过重复且耗时的设置任务。这样开发者就能专注于应用中更具创新性和独特性的部分,例如优化业务逻辑和添加自定义功能。

本文将带您了解 Bootify 的基础知识,全面介绍其核心功能和能力,并通过实战演示如何在真实场景中有效使用 Bootify。

2. Bootify 是什么?

Bootify 是专为 Spring Boot 框架设计的用户友好型应用生成器。它通过自动生成构建 Spring Boot 应用所需的样板代码和配置文件,简化并加速了开发流程。

借助 Bootify,开发者可以通过直观的网页界面轻松设置实体、关系和各种应用组件。该工具简化了初始设置,确保代码结构的一致性和最佳实践的遵循。

通过生成基础代码和配置,Bootify 让开发者能专注于构建独特的业务逻辑和自定义功能,使其成为快速原型开发和全栈应用开发的得力助手。

3. 创建项目

使用 Bootify 创建项目简单高效,能快速启动 Spring Boot 应用。

为简化演示,我们将构建一个使用 H2 数据库且无前端的 Spring Boot CRUD 应用。

3.1. 启动新项目

首先访问 Bootify.io,点击“Open Project”链接。系统会提供启动新项目或修改现有项目的选项。我们选择“Start new project”开始创建:

bootify first page

新项目现在可以通过其专属 URL 访问。

3.2. 配置项目设置

接下来配置项目的基本信息,如项目名称、包结构和其他通用设置。Bootify 提供友好的界面指定这些参数,确保项目按偏好设置。

我们选择 Maven 作为构建工具,Java 搭配 Lombok 作为语言,并选择 H2 数据库。Bootify 会自动添加所选数据库的必要依赖:

bootify general 1

在开发者偏好设置中,我们激活 OpenAPI 用于 REST API 文档:

bootify general 2

3.3. 定义领域模型

在“Entities”标签页创建数据库模式。Bootify 提供图形化界面定义应用实体及其关系。我们可以创建实体、指定属性并建立关系(如一对多或多对多):

bootify entity 1

我们将创建一个简单模式管理 PostPostComment。先创建 Post 实体:

bootify post

再创建 PostComment 实体:

bootify postcomments

为两个实体都激活“CRUD Options”。

现在创建实体间关系。PostPostComment 是 1:N 关系,因此建立一对多关系:

bootify relationship

下图展示了实体、属性及它们的关系:

bootify entities

3.4. 定义数据对象和控制器

下一步是“Data Objects”,用于定义 DTO枚举。Bootify 自动添加了 PostDTOPostCommentDTO

最后是“Controllers”部分。Bootify 自动生成了 PostResourcePostCommentResource,正是我们需要的:

bootify controller

3.5. 生成代码

完成配置后,Bootify 会自动生成对应的 Spring Boot 代码,包括实体类、仓储、服务、控制器等应用所需的样板组件。

使用“Explore”可查看所有生成文件:

bootify preview

同时可将生成的项目下载为 ZIP 文件。

4. 生成代码概览

下载 ZIP 文件后,在喜爱的 IDE(如 IntelliJ IDEAEclipse)中打开即可本地开发:

bootify intellij

以下是生成代码的核心组件解析:

领域组件(domain)
包含实体类,使用 JPA 注解(如 @Entity、*@Id@GeneratedValue*)映射数据库表。每个实体类包含定义的字段及 getter/setter 方法。

仓储组件(repos)
包含仓储接口,继承 JpaRepository,提供内置的 CRUD 操作方法。这些接口无需自定义实现即可完成常见数据库操作。

服务组件(service)
提供业务逻辑层,生成的服务类使用 @Service 注解。它们封装业务逻辑,与仓储交互执行数据访问操作,并按需实现额外逻辑。

REST 控制器(rest)
生成 REST 控制器,使用 @RestController@RequestMapping 注解管理 HTTP 请求。控制器将请求映射到对应服务方法,并通过 @GetMapping、*@PostMapping* 等注解定义 CRUD 操作接口。

模型组件(model)
包含 DTO 类,用于客户端与服务器间的数据传输。DTO 结构化 API 返回或接收的数据,解耦内部数据模型与外部 API 表示。

配置组件(config)
包含配置类(如 SwaggerConfigJacksonConfig),管理 API 文档和对象映射设置。

应用配置
application.propertiesapplication.yml 中定义,管理数据库连接、服务器端口等环境特定配置。

5. 总结

本文探讨了 Bootify 应用生成器的使用。通过 Bootify 处理常规设置,我们可以专注于构建和增强应用的核心功能,避免在重复性任务上浪费时间。✅

⚠️ 注意:虽然 Bootify 能大幅提升开发效率,但复杂业务逻辑仍需手动优化,避免过度依赖生成代码。


原始标题:Rapid Spring Boot Prototyping with Bootify | Baeldung