介绍 Archify:从架构理念到 Spring Boot 代码
Source: Dev.to
问题
每个后端开发者都经历过这样的时刻:你已经在脑中构思好架构就开始一个新项目——可能是一个简单的 REST 服务加数据库,或是多个服务之间相互通信。在真正编写业务逻辑之前,你会一遍又一遍地做相同的准备工作:
- 创建项目
- 添加依赖
- 创建实体
- 创建仓库
- 创建服务
- 创建控制器
- 将所有组件连线
这些并不难,但非常重复。
介绍 Archify
Archify 是一个把架构设想直接转化为可运行的 Spring Boot 项目的工具。
现代后端开发高度依赖架构。在启动项目时我们已经知道基本结构:
- 一个 REST 服务
- 一个 PostgreSQL 数据库(或其他数据存储)
- 若干实体
- CRUD 接口
- 可能还有多个服务之间的通信
现有工具只能解决部分问题。Spring Initializr 能生成带依赖和配置的基础项目骨架,但它不会生成实际的应用结构(实体、仓库、控制器等)。
Archify 让你能够:
- 定义架构
- 生成可运行的代码
工作原理
选择配方
选择一个预定义的配方,例如:
REST service with PostgreSQLTwo services communicating via REST
定义领域模型
提供一个简易的模型定义。例如:
User:
name: String
email: String
生成的输出
Archify 随后会生成一个完整的 Spring Boot 服务,包含:
- 实体类
- 仓库接口
- 服务层
- REST 控制器
- 数据库配置
- Maven 构建设置
生成的项目可以立即启动:
./mvnw spring-boot:run
分享架构蓝图
Archify 支持一种简洁的 YAML 格式,可与他人共享。示例蓝图:
recipe: rest-postgres
serviceName: user-service
entities:
- name: User
fields:
- name: name
type: String
- name: email
type: String
该文件即为可移植的架构定义。
当前配方
- REST service with H2
- REST service with PostgreSQL
- Two services communicating through REST
目标并不是覆盖所有可能的架构,而是让常见的搭建过程快速、简便。
未来路线图
- 更多架构配方
- 增强蓝图共享功能
- 更好地可视化服务交互
长期愿景是让 架构定义成为后端开发的起点。
开源
Archify 已开源并托管在 GitHub。你可以在此尝试在线演示。
如果你经常构建 Spring Boot 服务,欢迎提供反馈。项目仍处于早期阶段,但目标很简单:让把架构想法转化为可运行的后端代码变得更容易。