Cursor生成Java的架构设计图


摘要: Cursor生成Java的架构设计图

关键词: Cursor、人工智能 、开发工具、Java 架构设计图

整体说明

Cursor 作为现在非常好用的开发工具,非常的火爆,能够大幅提升工作效率和开发效率,其中就有 Java 的架构设计图,是真的不想自己画,这时候大模型工具的作用就可以体现出来了,如下:

一、背景

前面我们已经说了 README 的文件怎么生成了,大概知道了这个工程是怎么使用的,但是我们还是不知道具体模块的详细设计,具体流程的模块依赖关系,还有数据的流向流程图,想要更加深入地去了解详细设计,就需要架构设计图了。

二、前置条件

  • Cursor 安装和配置

    需要安装 Cursor 和 配置好相关配置,如果不知道怎么配置,可以参考我的另一篇文章 《Cursor日常配置指南》

  • 工程代码

    不多说,就是需要使用 Cursor 打开我们工程代码文件,和 IDEA 差不多,区别就是 Cursor 有一个 Chat 的人工智能聊天窗口,这个就是我们之后,生成文档的方法

  • 结果查看插件安装

    当我们生成我们文档之后,我们得能打开预览我们文件,最终结果是带 Mermaid 的 Markdown 文件,所以需要下载插件 Markdown Preview Mermaid Support,直接在 Cursor 插件里搜索安装就可以了

  • Draw.io 安装

    当我们生成的 Mermaid 图形代码我们,不满意,想要自己去编辑的时候,需要使用这个软件去编辑

三、生成 Promt

如下就是我常用的 Java架构设计生成promt,当然我这个是基于我写的代码工程写的,如果你的代码工程有自己的特点,可以再修改

# Mermaid工程架构图生成提示

请为我的Spring Boot项目生成一个使用Mermaid语法的架构图,并以Markdown格式呈现。

## 需求说明
1. 使用Mermaid语法创建多个图表来展示项目的不同架构视图
2. 所有图表应嵌入在一个Markdown文件中,标题为"项目名称模块架构设计"
3. 图表应清晰展示组件之间的关系和数据流
4. **重要:确保所有文字使用深色(黑色或深蓝色),保证在浅色背景上清晰可见**
5. **图表中的节点颜色应当使用较浅的填充色,但文字和边框使用深色,提高对比度**
6. **特别注意:在节点文本中使用换行时,确保使用正确的Mermaid语法**
   - 在节点文本中,使用 `<br>` 而不是 `\n` 进行换行
   - 例如:`A[第一行<br>第二行]`,而不是 `A[第一行\n第二行]`
   - 或者使用Markdown语法 `A["第一行<br/>第二行"]`
7. 为每个图表添加简短的说明文字,解释图表的目的和内容

## 需要包含的图表类型

### 1. 模块依赖图
- 使用Mermaid的`graph TD`语法
- 展示项目主要模块之间的依赖关系和内部组件结构
- 区分主要模块和内部组件(Controller、Service、Mapper等)
- 展示组件之间的调用关系
- 使用不同形状和颜色区分不同类型的模块和组件
- 文字标签使用深色(黑色或深蓝色),确保可读性
- 样式定义示例:
  ```
  classDef module fill:#f9f,stroke:#333,stroke-width:2px,color:#000
  classDef component fill:#bbf,stroke:#33f,stroke-width:1px,color:#000
  classDef utility fill:#bfb,stroke:#3f3,stroke-width:1px,color:#000
  ```

### 2. 系统部署架构图
- 使用Mermaid的`flowchart TD`语法
- 展示系统在生产环境中的部署结构
- 包括客户端、负载均衡器、应用服务器、数据库、配置中心和外部系统
- 显示组件之间的网络连接和通信方式(HTTP请求、REST API、JDBC等)
- 使用不同颜色和样式区分不同类型的组件
- 样式定义示例:
  ```
  classDef client fill:#e7f5fe,stroke:#1da1f2,stroke-width:1px,color:#000
  classDef server fill:#fcefe3,stroke:#fd8a3f,stroke-width:1px,color:#000
  classDef db fill:#f0fff0,stroke:#2ecc71,stroke-width:1px,color:#000
  classDef ext fill:#fcf3e3,stroke:#f1c40f,stroke-width:1px,color:#000
  classDef infra fill:#f5e8f5,stroke:#9b59b6,stroke-width:1px,color:#000
  ```

### 3. 数据流程图
- 使用Mermaid的`flowchart LR`语法
- 展示数据从数据源到最终存储的完整流程
- 包括API客户端、服务层、数据转换、数据访问层和数据库
- 显示触发流程的方式(手动触发或定时任务)
- 样式定义示例:
  ```
  classDef external fill:#f9a,stroke:#a86,stroke-width:1px,color:#000
  classDef process fill:#adf,stroke:#68c,stroke-width:1px,color:#000
  classDef data fill:#ad5,stroke:#6b4,stroke-width:1px,color:#000
  classDef storage fill:#bbf,stroke:#99e,stroke-width:1px,color:#000
  ```

### 4. 核心业务流程图
- 使用Mermaid的`sequenceDiagram`语法
- 展示系统中的主要业务流程的时序关系
- 包括客户端、控制器、服务层、外部API和数据库等参与者
- 展示完整的调用流程,包括获取授权、数据处理和结果返回
- 使用loop表示循环处理(如分页获取数据)
- 用Note添加额外说明(如支持按日期范围同步)

### 5. 数据库ER图
- 使用Mermaid的`erDiagram`语法
- 展示主要数据实体及其关系(一对多、多对多等)
- 包括每个实体的主要字段、主键和外键
- 使用明确的关系符号(||--o{、}o--o{等)表示实体间关系
- 为每个字段添加类型和简短描述

### 6. 接口调用关系图
- 使用Mermaid的`flowchart TB`语法
- 展示系统内部各组件间的接口调用关系
- 包括控制器、服务接口、服务实现类、API客户端和数据访问层
- 显示与外部系统和数据库的交互
- 样式定义示例:
  ```
  classDef controller fill:#f9f0ff,stroke:#333,stroke-width:1px,color:#000
  classDef service fill:#e6f7ff,stroke:#333,stroke-width:1px,color:#000
  classDef impl fill:#f0f5ff,stroke:#333,stroke-width:1px,color:#000
  classDef client fill:#fff7e6,stroke:#333,stroke-width:1px,color:#000
  classDef external fill:#f9f9f9,stroke:#333,stroke-width:1px,color:#000
  classDef database fill:#f6ffed,stroke:#333,stroke-width:1px,color:#000
  ```

### 7. 异常处理流程图
- 使用Mermaid的`flowchart TD`语法
- 展示系统的异常处理机制和流程
- 包括异常触发、捕获、分类处理和恢复机制
- 展示不同类型异常的处理策略(业务异常、系统异常、网络异常、数据库异常)
- 样式定义示例:
  ```
  classDef normal fill:#f0f5ff,stroke:#333,stroke-width:1px,color:#000
  classDef decision fill:#fff7e6,stroke:#333,stroke-width:1px,color:#000
  classDef error fill:#fff1f0,stroke:#333,stroke-width:1px,color:#000
  classDef recovery fill:#f6ffed,stroke:#333,stroke-width:1px,color:#000
  classDef response fill:#f9f0ff,stroke:#333,stroke-width:1px,color:#000
  ```

### 8. 性能优化设计图
- 使用Mermaid的`flowchart LR`语法
- 展示系统的主要性能优化策略
- 包括数据库优化、API调用优化、缓存策略和并发处理等方面
- 展示各优化点的具体技术措施
- 样式定义示例:
  ```
  classDef strategy fill:#f9f0ff,stroke:#333,stroke-width:1px,color:#000
  classDef category fill:#e6f7ff,stroke:#333,stroke-width:1px,color:#000
  classDef technique fill:#f6ffed,stroke:#333,stroke-width:1px,color:#000
  ```

## 格式要求
1. 所有图表应使用正确的Mermaid语法
2. Markdown文件应包含适当的标题和说明文字
3. 每个图表前应有简短的说明,解释图表的目的和内容
4. 每个图表后应有简短的解释,说明图表展示的内容和价值
5. 使用注释来增强图表的可读性(使用`%%`添加注释)
6. **对于所有图表,确保:**
   - 节点填充色使用浅色,便于查看
   - 文字和边框使用深色(黑色 `#000` 或深蓝色 `#333`),确保可读性
   - 箭头标签使用深色
   - 样式定义中添加 `color:#000` 或 `color:#333` 属性
   - **使用 `<br>` 进行文本换行,不要使用 `\n`**
7. 在文档最后添加总结部分,简要概括所有图表的内容和价值

## 换行示例
```mermaid
flowchart TD
    A[单行文本] -->|调用| B["多行文本<br>第二行"]
    C["控制器<br>Controller"] -->|调用| D["服务层<br>Service<br>业务处理"]
```

## 样式示例
```mermaid
flowchart TD
    A[模块A] -->|调用| B[模块B]
    
    %% 样式定义 - 确保文字为深色
    classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px,color:#000
    classDef important fill:#ffe6e6,stroke:#c00,stroke-width:2px,color:#000
    
    %% 应用样式
    class B important
```

请基于项目实际情况创建这些图表,确保图表内容准确、完整且易于理解。如果某些信息不足,可以使用合理的假设,但请在说明中注明。最终的文档应能全面展示系统的架构设计、工作流程和数据关系,帮助开发人员和维护人员理解系统。

四、结果查看

使用 Ctrl + L 打开 Chat 窗口,在 Chat 窗口 如下执行触发这个文档生成即可

其中要 @Java架构设计生成promt 和 @工程代码文件夹,表示引用

生成结果如下,这个是 Mermaid 语法

可点击右上角预览呈现结果

五、结果编辑

打开 架构设计.md

找到你不满意的 mermaid 图代码,复制

打开 Draw.io ,并新建一个空白绘图

然后 依次点击 调整图形 -> 插入 -> 高级 -> mermaid ,然后把刚刚复制的 mermaid 图代码 放进去

之后就能自由编辑图形了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏说大数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值