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

简介: 本文介绍了如何利用 IntelliJ IDEA 编辑器和阿里云的通义灵码 AI 程序员,快速搭建一个基于 DDD 领域驱动架构的后端工程模板。

作者:陈荣健


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

image.png

一、准备工作

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-21
Java(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 -v
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: E:\install\apache-maven-3.9.9
Java version: 23.0.2, vendor: Oracle Corporation, runtime: E:\install\Java\jdk-23
Default locale: zh_CN, platform encoding: UTF-8
OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"


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

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

image.png

安装通义灵码


三、登录通义灵码

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

image.png

登录通义灵码


四、功能介绍

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

image.png

功能介绍


五、何为 AI 程序员

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


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

1. 给员工提需要

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


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

image.png

给 AI 程序员提需求


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


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


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

image.png

自动创建目录和文件


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

1. 把项目添加为maven工程

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

image.png

把工程添加为maven工程


2. 尝试启动工程

image.png

尝试启动工程


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

image.png

启动工程时,直接报错了


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


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


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

image.png

修改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 configuration
spring.ai.openai.api-key=申请自己的key
spring.ai.openai.base-url=https://api.siliconflow.cn
spring.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 接口

image.png

测试


八、总结

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

目录
打赏
0
0
0
0
12678
分享
相关文章
手把手带你上手通义灵码 2.0,体验 AI 程序员加持下的智能编码助手
手把手带你上手通义灵码 2.0,体验 AI 程序员加持下的智能编码助手
通义灵码2.0 - AI 程序员: AI 编程新时代的卓越助力
通义灵码是一款强大的AI编程助手,尤其在单元测试自动生成方面表现出色。它通过简化操作流程,快速生成覆盖广泛、质量较高的测试用例,支持直接编译与运行,显著提升开发效率。相比人工编写,通义灵码能大幅缩短时间成本,并更全面地覆盖边界和异常情况,但特定业务逻辑仍需人工补充。作为开发者的好帮手,它助力高效完成高质量单元测试,推动软件开发迈向新台阶。
128 83
利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例
本文介绍了如何利用阿里云通义灵码AI程序员的Qwen2.5-Max模型,在VS Code中一键生成扫雷小游戏。通过安装通义灵码插件并配置模型,输入指令即可自动生成包含游戏逻辑与UI设计的Python代码。生成的游戏支持难度选择,运行稳定无Bug。实践表明,AI工具显著提升开发效率,但人机协作仍是未来趋势。建议开发者积极拥抱新技术,同时不断提升自身技能以适应行业发展需求。
22056 6
AI程序员:通义灵码 2.0应用VScode前端开发深度体验
AI程序员:通义灵码 2.0应用VScode前端开发深度体验,在软件开发领域,人工智能技术的融入正深刻改变着程序员的工作方式。通义灵码 2.0 作为一款先进的 AI 编程助手,与广受欢迎的代码编辑器 Visual Studio Code(VScode)相结合,为前端开发带来了全新的可能性。本文将详细分享通义灵码 2.0 在 VScode 前端开发环境中的深度使用体验。
142 2
通义灵码2.0 AI 程序员体验官招募活动---通义灵码评测
在大模型不断更新迭代的当下,众多大厂纷纷推出自家的 AI 编码助手。其中,阿里云的通义灵码堪称市场上最为成熟的产品之一,紧随其后的则是腾讯的 AI 助手。在近期实际项目开发过程中,我使用了通义灵码助手,其最新版本展现出了令人惊叹的强大性能。在一些模块编码任务上,通义灵码表现尤为出色,生成的代码在命名规范性、易扩展性以及易读性方面,甚至超越了大多数普通程序员。通义灵码在生成代码时,不仅会考量设计模式,遵循重构原则,还具备强大的 bug 检测与修复能力,在单元测试方面同样表现优异。接下来,本文将通过一个小游戏的实例,对通义灵码的各项功能展开测试。
48 1
通义灵码2.0 AI 程序员体验官招募活动---通义灵码评测
通义灵码 AI 程序员-全平台AI程序员插件
人工智能正在深度融入开发流程,阿里云通义灵码AI程序员全面上线,支持VS Code与JetBrains IDEs,是国内首个真正落地的AI程序员工具。它不仅能生成代码、续写功能,还支持跨语言编程和图片生成代码。相较1.0版本,新增多项功能,模型更丰富,生成速度更快。快来体验未来开发的魅力!链接附上,欢迎探索。
53 7
用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站
通义灵码是一款基于通义大模型的智能编码辅助工具,支持自然语言生成代码、单元测试生成、代码注释生成等功能,兼容多种主流IDE和编程语言。对于零基础用户,只需通过自然语言描述需求,通义灵码即可自动生成代码,帮助快速开发个人笔记网站,极大简化开发流程,提升效率。
通义灵码 2.0 评测:AI 赋能编程,开启高效研发新旅程
通义灵码2.0通过AI赋能编程,显著提升开发效率与代码质量。安装便捷,支持自然语言描述需求自动生成高质量代码框架及注释,大幅简化新功能开发流程。其单元测试Agent能快速生成全面测试用例,覆盖更多边界情况。相比1.0版本,2.0在智能问答和代码生成速度上均有显著提升,为开发者带来高效研发新体验。
91 6
用通义灵码开发一个Python时钟:手把手体验AI程序员加持下的智能编码
通义灵码是基于通义大模型的AI研发辅助工具,提供代码智能生成、研发问答、多文件修改等功能,帮助开发者提高编码效率。本文通过手把手教程,使用通义灵码开发一个简单的Python时钟程序,展示其高效、智能的编码体验。从环境准备到代码优化,通义灵码显著降低了开发门槛,提升了开发效率,适合新手和资深开发者。最终,你将体验到AI加持下的便捷与强大功能。
寻找通义灵码 AI 程序员 {头号玩家} ,体验 QwQ-Plus、DeepSeek 满血版的通义灵码
通义灵码联合 CHERRY 中国全网发起寻找 AI 程序员 {头号玩家},体验全新模型加持下的 AI 程序员的智能编码新功能,体验图生代码 Agent、单元测试 Agent 、跨语言编程等 AI 程序员能力,赢取通义灵码 X CHERRY 联名定制个人签名款机械键盘 、CHERRY MX8.3 旗舰级机械键盘、CHERRY 无线双模鼠标、码力全开蛇皮袋等奖品!

热门文章

最新文章