写点什么

IDEA + 通义灵码 AI 程序员:快速构建 DDD 后端工程模板

  • 2025-02-20
    浙江
  • 本文字数:3798 字

    阅读完需:约 12 分钟

作者:陈荣健


IDEA + 通义灵码 AI 程序员:快速构建 DDD 后端工程模板


在软件开发过程中,一个清晰、可维护、可扩展的架构至关重要。领域驱动设计 (DDD) 是一种软件开发方法,它强调将软件模型与业务领域紧密结合,从而构建更贴近业务需求的系统。本文将介绍如何利用 IntelliJ IDEA 编辑器和阿里云的通义灵码 AI 程序员,快速搭建一个基于 DDD 领域驱动架构的后端工程模板,作为其他工程的初始化工程。


一、准备工作

1.IntelliJ IDEA 安装:  确保已安装 IntelliJ IDEA,推荐使用最新版本。本文基于 IntelliJ IDEA 2024.3.3 (Community Edition)进行演示。


下载地址:https://www.jetbrains.com/idea/download/?section=windows


2.JDK 安装:  确保已安装 JDK 8 或以上版本。本文使用版本为 23.0.2


java version "23.0.2" 2025-01-21Java(TM) SE Runtime Environment (build 23.0.2+7-58)Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7-58, mixed mode, sharing)
复制代码


3.Maven 安装:  这里使用 Maven 作为项目构建工具,并配置好环境变量。


C:\Users\17217>mvn -vApache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)Maven home: E:\install\apache-maven-3.9.9Java version: 23.0.2, vendor: Oracle Corporation, runtime: E:\install\Java\jdk-23Default locale: zh_CN, platform encoding: UTF-8OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"
复制代码

二、安装阿里云的通义灵码插件

1.在 IntelliJ IDEA 中安装阿里云的通义灵码插件。可以通过 File -> Settings -> Plugins 搜索 "通义灵码" 并安装。已经安装过了的话,则会提示升级,我们升级到最新版 2.1.0,便可以使用 AI 程序员了



安装通义灵码

三、登录通义灵码

插件安装成功后,会自动弹出登录提示,我们根据提示完成登录即可,可以直接使用支付宝或者手机号完成登录



登录通义灵码

四、功能介绍

如图,我们可以点击通义灵码的图标,我的再右上测。可以看到可以进行智能问答和 AI 程序员,输入区域左下角可以选择基础模型。可以看到我们的基础模型已经有我们最近火的一塌糊涂的 deepseek r1,但只能智能问答。AI 程序员的话,目前只支持 deepseek v3 和 qwen-2,5



功能介绍

五、何为 AI 程序员

打个比方,他就是甘愿为你做牛做马的员工,绝不会撒手不干,更不会离你而去!嘻嘻!在公司当牛马的你,回到家后,你可以当老板来吆喝它来给你干活,只要你会说人话,他就能吭哧吭哧的给你不知疲倦的干活了!这不,加班回来后,发泄下,充当老板来指挥员工干活,不然睡不着么!

六、老板开始指挥员工干活了

1. 给员工提需要


1.请你基于当前目录,基于springboot+maven快速构建DDD领域驱动架构后端工程模板,并确保工程创建完后可以成功运行2.工程模板构建成功后,请基于springAI框架,编写一个可以调用Deepseek r1大模型的API,并确保API编写完成,启动工程后,可以通过postman工具进行成功调用
复制代码


如下,点击发送后,静静的等待它给你完成编码即可,编写完成后,我们只要点击接受即可



给 AI 程序员提需求


生成了以下项目目录,可以看出来他虽然吭哧吭哧的在右边生成了这个目录,但是实际上工程创建时,并没有按照他说的这个目录结构进行创建。


D:\IDEA\ddd-springboot-template├── src│   ├── main│   │   ├── java│   │   │   └── com│   │   │       └── example│   │   │           ├── application│   │   │           ├── domain│   │   │           ├── infrastructure│   │   │           └── interfaces│   │   └── resources│   └── test│       └── java└── pom.xml
复制代码


并帮我们创建了如下的文件



自动创建目录和文件

七、老板验收工作-运行项目

1. 把项目添加为 maven 工程

此过程会去 maven 仓库拉取依赖,速度可能会有点慢,执行过程中看是否会报错。居然没有报错



把工程添加为 maven 工程

2. 尝试启动工程


尝试启动工程


刚启动就直接报错了!员工干活实在不靠谱!必须给我加班!



启动工程时,直接报错了


算了,作为老板要有耐心,员工才能忠于你,继续为你干活!,有问题说问题,对事不对人哈!


项目启动时,控制台提示:java: 程序包org.springframework.ai.client不存在,请修复
复制代码


还好,还是孺子可教,知道错在哪里并很快给我修复,作为老板只能接受了!



修改 bug


最终他还是没能给我找到对的依赖,进入了死循环,只能我自己动手了!下面是为修改后的 pom 文件


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>3.3.3</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <groupId>com.example</groupId>    <artifactId>ddd-springboot-template</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>ddd-springboot-template</name>    <description>Demo project for Spring Boot</description>    <properties>        <java.version>17</java.version>        <maven.compiler.source>17</maven.compiler.source>        <maven.compiler.target>17</maven.compiler.target>    </properties>    <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 添加Spring AI的其他必要依赖 --> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-openai-spring-boot-starter</artifactId> <version>1.0.0-M5</version> </dependency>
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-spring-boot-autoconfigure</artifactId> <version>1.0.0-M5</version> </dependency> <!--<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency>-->
<dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> <version>5.2.1</version> </dependency>
</dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build></project>
复制代码


下面是我创建的配置文件


# Deepseek configurationspring.ai.openai.api-key=申请自己的keyspring.ai.openai.base-url=https://api.siliconflow.cnspring.ai.openai.chat.options.model=deepseek-ai/DeepSeek-R1
复制代码


下面是我修改的 DeepseekController


package com.example.interfaces;

import org.springframework.ai.chat.client.ChatClient;import org.springframework.web.bind.annotation.CrossOrigin;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;

@RestController@CrossOrigin(origins = "*")publicclassDeepseekController {
privatefinal ChatClient chatClient;
publicDeepseekController(ChatClient.Builder builder) { this.chatClient = builder.defaultSystem("你是一个占卜大师,当有人输入日期的时候,你输出今天的桃花运和财运信息,"+ "生成结果在html页面中以markdown的格式输出,最后输出结尾的时候始终以下面的语句结尾:感谢您的咨询,我是陈荣健。").build(); }
@GetMapping(value = "/deepseek/{message}") public String chat(@PathVariable("message") String message){ return chatClient.prompt().user(message).call().content(); }}
复制代码

3. 测试 API 接口


测试

八、总结

本文介绍了如何利用 IntelliJ IDEA 编辑器和阿里云的通义灵码 AI 程序员,快速搭建一个基于 DDD 领域驱动架构的后端工程模板。 测试下来,这个 AI 程序员并不能顺利的按照他的想法来执行,想一套,做一套,还是需要老板亲自动手才能让工程跑起来。希望通义灵码 AI 程序员这个员工可以学习更多的知识,在未来能够聪明的给更多的牛马能够真正成为老板!所以这个工程如果需要作为 ddd 工程模板,还需要人为干预才能完成。

发布于: 刚刚阅读数: 3
用户头像

阿里云云原生 2019-05-21 加入

还未添加个人简介

评论

发布
暂无评论
IDEA + 通义灵码AI程序员:快速构建DDD后端工程模板_阿里云_阿里巴巴云原生_InfoQ写作社区