IDEA + 通義靈碼AI程序員:快速構建DDD后端工程模板

作者:陳榮健

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-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程序員了

安裝通義靈碼

三、登錄通義靈碼

插件安裝成功后,會自動彈出登錄提示,我們根據提示完成登錄即可,可以直接使用支付寶或者手機號完成登錄

登錄通義靈碼

四、功能介紹

如圖,我們可以點擊通義靈碼的圖標,我的再右上測。可以看到可以進行智能問答和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 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 接口

測試

八、總結

本文介紹了如何利用 IntelliJ IDEA 編輯器和阿里云的通義靈碼 AI 程序員,快速搭建一個基于 DDD 領域驅動架構的后端工程模板。 測試下來,這個AI程序員并不能順利的按照他的想法來執行,想一套,做一套,還是需要老板親自動手才能讓工程跑起來。希望通義靈碼 AI 程序員這個員工可以學習更多的知識,在未來能夠聰明的給更多的牛馬能夠真正成為老板!所以這個工程如果需要作為ddd工程模板,還需要人為干預才能完成。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895984.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895984.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895984.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

責任鏈模式原理詳解和源碼實例以及Spring AOP攔截器鏈的執行源碼如何使用責任鏈模式?

前言 本文首先介紹了責任鏈的基本原理&#xff0c;并附帶一個例子說明責任鏈模式&#xff0c;確保能夠理解責任鏈的前提下&#xff0c;在進行Spring AOP執行責任鏈的源碼分析。責任鏈模式允許將多個處理對象連接成鏈&#xff0c;請求沿著鏈傳遞&#xff0c;直到被處理或結束。每…

React 與 Vue 對比指南 - 上

React 與 Vue 對比指南 - 上 本文將展示如何在 React 和 Vue 中實現常見功能&#xff0c;從基礎渲染到高級狀態管理 Hello 分別使用 react 和 vue 寫一個 Hello World&#xff01; react export default () > {return <div>Hello World!</div>; }vue <…

大模型開發實戰篇7:語音識別-語音轉文字

語音識別大模型&#xff0c;是人工智能領域的一項重要技術&#xff0c;它能夠將人類的語音轉換為文本。近年來&#xff0c;隨著深度學習技術的不斷發展&#xff0c;語音識別大模型取得了顯著的進展&#xff0c;并在各個領域得到了廣泛應用。 主流語音識別大模型 目前&#xf…

向量的點乘的幾何意義

源自AI 向量的點乘&#xff08;Dot Product&#xff09;在幾何和圖形學中有重要的意義。它不僅是數學運算&#xff0c;還可以用來描述向量之間的關系。以下是點乘的幾何意義及其應用&#xff1a; 1. 點乘的定義 對于兩個向量 a 和 b&#xff0c;它們的點乘定義為&#xff1a;…

國產芯片汽車氣壓表pcba方案

汽車氣壓表的基本原理是利用氣壓傳感器將氣體氣壓轉換為電信號&#xff0c;再通過電子芯片電路進行處理傳輸&#xff0c;再將這些信息轉發給顯示屏顯示。常見的傳感器包括模擬氣壓傳感器和數字氣壓傳感器。其中&#xff0c;模擬氣壓傳感器是目前應用最廣泛的傳感器之一&#xf…

解鎖機器學習核心算法 | K -近鄰算法:機器學習的神奇鑰匙

一、引言 今天我們繼續學習機器學習核心算法 —— K - 近鄰&#xff08;K-Nearest Neighbors&#xff0c;簡稱 KNN&#xff09;算法。它就像是一位經驗豐富的 “老江湖”&#xff0c;以其簡單而又強大的方式&#xff0c;在眾多機器學習任務中占據著不可或缺的地位。 K - 近鄰…

如何在Windows 10操作系統中安裝并配置PHP集成軟件XAMPP

步驟1&#xff1a;下載XAMPP安裝包 訪問XAMPP官網&#xff1a; 打開瀏覽器&#xff0c;進入XAMPP官方網站&#xff1a;https://www.apachefriends.org/index.html 選擇XAMPP版本&#xff1a; 在XAMPP的下載頁面上&#xff0c;選擇適合Windows的最新穩定版本下載&#xff08;例…

【DeepSeek】本地部署,保姆級教程

deepseek網站鏈接傳送門&#xff1a;DeepSeek 在這里主要介紹DeepSeek的兩種部署方法&#xff0c;一種是調用API&#xff0c;一種是本地部署。 一、API調用 1.進入網址Cherry Studio - 全能的AI助手選擇立即下載 2.安裝時位置建議放在其他盤&#xff0c;不要放c盤 3.進入軟件后…

Python 入門教程(2)搭建環境 | 2.3、VSCode配置Python開發環境

文章目錄 一、VSCode配置Python開發環境1、軟件安裝2、安裝Python插件3、配置Python環境4、包管理5、調試程序 前言 Visual Studio Code&#xff08;簡稱VSCode&#xff09;以其強大的功能和靈活的擴展性&#xff0c;成為了許多開發者的首選。本文將詳細介紹如何在VSCode中配置…

Oracle EBS 12.1和APEX 集成時 Apache的配置代理

在有些場景下&#xff0c;apex的前端服務不是和oracle EBS 應用部署在同一個服務器上或者要求apex和訪問地址和EBS公用同一個域名同一個端口&#xff0c;那么怎么才能做到用EBS 的域名和端口來實現對apex的訪問呢 通過配置代理規則解決&#xff0c;以Oracle EBS 12.1.3 為例&am…

【第二節】C++設計模式(創建型模式)-抽象工廠模式

目錄 引言 一、抽象工廠模式概述 二、抽象工廠模式的應用 三、抽象工廠模式的適用場景 四、抽象工廠模式的優缺點 五、總結 引言 抽象工廠設計模式是一種創建型設計模式&#xff0c;旨在解決一系列相互依賴對象的創建問題。它與工廠方法模式密切相關&#xff0c;但在應用…

ubuntu20.04重啟后不顯示共享文件夾

ubuntu20.04重啟后不顯示共享文件夾 主要參見這兩篇博客 Ubuntu重啟后不顯示共享文件夾_ubuntu 20.04 共享目錄無法使用-CSDN博客 ubuntu22.04 配置共享文件夾 找不到/mnt/hgfs_ubuntu安裝tools 后mnt文件夾在哪-CSDN博客 重啟Ubuntu20.04后&#xff0c;發現共享文件夾進不去…

halcon機器視覺深度學習對象檢測,物體檢測

目錄 效果圖操作步驟軟件版本halcon參考代碼本地函數 get_distinct_colors()本地函數 make_neighboring_colors_distinguishable() 效果圖 操作步驟 首先要在Deep Learning Tool工具里面把圖片打上標注文本&#xff0c; 然后訓練模型&#xff0c;導出模型文件 這個是模型 mod…

9.PG數據庫層權限管理(pg系列課程)第2遍

一、PostgreSQL數據庫屬主 Postgres中的數據庫屬主屬于創建者&#xff0c;只要有createdb的權限就可以創建數據庫&#xff0c;數據庫屬主不一定擁有存放在該數據庫中其它用戶創建的對象的訪問權限。數據庫在創建后&#xff0c;允許public角色連接&#xff0c;即允許任何人連接…

2.19學習(php文件后綴)

misc buu-后門查殺 下載附件&#xff0c;我們用火絨安全掃一下然后點擊詳情進入該文件所在文件夾&#xff0c;再用記事本打開該文件&#xff0c;搜索flag無果&#xff0c;再試試pass&#xff08;由題目中的密碼聯系到pass&#xff0c;password&#xff0c;key等&#xff09;&a…

PMBOK第7版整體架構全面詳解

1. 引言 7月1日對于項目管理從業者和研究者而言&#xff0c;是個非凡意義的一個時間&#xff0c;這一天&#xff0c;翹首以待的《 項 目管理知識體系指南 》&#xff08;PMBOK&#xff09;第七版終于發布了。 總體而言&#xff0c;PMBOK第七版集百家之所長&#xff0c;成一…

C++:類與對象,定義類和構造函數

#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; //如何讓定義一個類 // 封裝 // 1、將數據和方法定義到一起。 // 2、把想給你看的數據給你看&#xff0c;不想給你看的封裝起來。 通過訪問限定符來實現 class Stack { public: //1.成…

nginx 部署前端vue項目

?? 主頁&#xff1a; ?? 感謝各位大佬 點贊?? 收藏 留言?? 加關注! ?? 收錄于專欄&#xff1a;前端工程師 文章目錄 一、??什么是nginx&#xff1f;二、??nginx 部署前端vue項目步驟 2.1 ??安裝nginx 2.1.1 ??windows環境安裝2.1.2 ??linux環境安裝 2.2 …

藍橋杯備考策略

備賽策略 (1-2周):基礎算法數據結構 (3-5周):動態規劃/貪心圖論 (6-8周):全真模擬查漏補缺 階段1:基礎鞏固(第1-2周) **目標:**掌握基礎數據結構和必考算法&#xff0c;熟悉藍橋杯題型。 學習內容: 數據結構:數組、字符串、棧、隊列、哈希表、二叉樹(遍歷與基本操作)。 基礎…

tmux和vim的基本操作

Tmux Tmux 的核心功能 多窗口和多面板&#xff1a; 在一個終端中創建多個窗口&#xff08;Windows&#xff09;&#xff0c;每個窗口可以運行不同的任務。 在每個窗口中&#xff0c;可以進一步分割成多個面板&#xff08;Panes&#xff09;&#xff0c;實現分屏操作。 會話…