久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務建站與企業(yè)官網運營的一線實戰(zhàn)洞察。

從零讀懂AI智能客服(二):Java 多模塊項目如何協(xié)作:Maven 依賴、Spring 注入與運行時裝配

從零讀懂AI智能客服(二):Java 多模塊項目如何協(xié)作:Maven 依賴、Spring 注入與運行時裝配 本文主題解釋模塊為什么能互相使用以及 Maven、Spring 和公共接口分別承擔什么職責適合讀者剛接觸 Maven 多模塊、Spring 依賴注入和模塊化單體架構的 Java 開發(fā)者代碼基線當前學習分支源碼快照上一篇從零讀懂 AI 智能客服后端架構模塊職責與 SSE 聊天鏈路下一篇AI 智能客服為什么不能照搬傳統(tǒng)三層架構CRUD 與 AI 編排分層對比這里是yurenpai27屆開發(fā)者主要學習 Java 后端與 AI 應用開發(fā)。這里記錄真實項目中的代碼調用鏈、Agent/RAG 工程化、問題排查和開發(fā)復盤。個人理念模塊之間能否協(xié)作不能只看目錄位置必須同時追蹤構建依賴和運行時裝配。寫在前面先說結論兩個模塊放在同一個倉庫里并不代表它們可以直接互相調用。真正決定模塊協(xié)作的是三層機制Maven 負責建立編譯依賴Spring 負責發(fā)現(xiàn)并注入運行時 Bean公共接口負責控制依賴方向、避免業(yè)務模塊形成循環(huán)依賴。本文會以“聊天模塊調用工作流、工作流反向使用聊天能力”為貫穿案例重點講清父子關系、聚合關系和依賴關系有什么區(qū)別admin為什么能夠把多個業(yè)務模塊裝進同一個應用接口放在公共模塊中為什么能避免chat ? aiflow的循環(huán)依賴如何用 POM、import、接口實現(xiàn)和啟動模塊反向驗證一次跨模塊調用。說明本文以當前項目源碼為例重點解釋模塊協(xié)作方法不同項目的模塊名稱可能不同但分析步驟可以復用。代碼說明除明確標注為完整源碼外文中的 POM、Java 代碼和目錄片段均為根據當前源碼整理的簡化示意文中的“已核對”表示完成靜態(tài)源碼核對不等同于啟動或接口測試通過。一、為什么要拆成這么多模塊假設不拆模塊把所有代碼都放在一個項目中src/main/java/com/tst/pharma/ ├─ 用戶管理 ├─ 權限管理 ├─ 聊天 ├─ 知識庫 ├─ 工作流 ├─ AI 流程 ├─ Redis ├─ SSE ├─ 短信 ├─ 文件上傳 ├─ Excel └─ 定時任務時間長了會出現(xiàn)幾個問題1. 所有代碼混在一起不知道屬于哪個業(yè)務 2. 一個聊天模塊也能隨便依賴用戶、短信、工作流內部實現(xiàn) 3. 公共工具被復制多份 4. 修改一個模塊容易影響其他模塊 5. Maven 依賴越來越混亂 6. 新人很難判斷代碼應該放在哪里 7. 無法控制模塊之間的依賴方向。所以項目進行了兩次拆分。第一次按大職責拆分tst-pharma-admin ├─ 應用啟動和組裝 tst-pharma-common ├─ 公共基礎能力 tst-pharma-modules ├─ 具體業(yè)務模塊 tst-pharma-extend └─ 獨立擴展服務第二次在每個大模塊內部繼續(xù)拆分例如公共能力拆成tst-pharma-common-core tst-pharma-common-web tst-pharma-common-redis tst-pharma-common-sse tst-pharma-common-mybatis tst-pharma-common-satoken業(yè)務能力拆成tst-pharma-system tst-pharma-chat tst-pharma-workflow tst-pharma-aiflow tst-pharma-generator這樣就可以做到聊天模塊需要 SSE → 只依賴 common-sse 聊天模塊需要 Web 能力 → 只依賴 common-web 聊天模塊不需要短信 → 就不必直接依賴 common-sms這就是“模塊化”的主要意義不是為了把目錄弄多而是為了劃分職責、復用能力并控制依賴。二、先區(qū)分三個容易混淆的概念項目中有三種關系一定要區(qū)分。1. 父子關系例如子模塊的pom.xml中parentgroupIdcom.tst.pharma/groupIdartifactIdtst-pharma-main-backend/artifactIdversion${revision}/version/parent它表示子模塊繼承父工程的版本號 依賴版本管理 Maven 插件 Java 版本 構建配置但是繼承父 POM不代表父模塊能夠直接使用子模塊的 Java 類。2. 聚合關系根pom.xml中modulesmoduletst-pharma-admin/modulemoduletst-pharma-common/modulemoduletst-pharma-extend/modulemoduletst-pharma-modules/module/modules它表示在根目錄執(zhí)行 Maven 構建時 → Maven 會一起構建這些模塊但是被根 POM 聚合也不等于模塊之間能夠互相調用。例如tst-pharma-chat tst-pharma-workflow雖然都被根項目聚合但如果chat/pom.xml沒有依賴workflow那么chat不能直接隨意導入workflow的類。3. 依賴關系真正決定一個模塊能否使用另一個模塊 Java 類的是dependencygroupIdcom.tst.pharma/groupIdartifactId被依賴模塊/artifactId/dependency例如tst-pharma-chat/pom.xml中有dependencygroupIdcom.tst.pharma/groupIdartifactIdtst-pharma-common-chat/artifactId/dependencydependencygroupIdcom.tst.pharma/groupIdartifactIdtst-pharma-common-sse/artifactId/dependency所以聊天模塊才能使用importcom.tst.pharma.common.chat.domain.dto.request.ChatRequest;importcom.tst.pharma.common.sse.core.SseEmitterManager;可以記成聚合關系 └─ 決定一起構建 父子關系 └─ 決定繼承統(tǒng)一配置 依賴關系 └─ 決定是否能使用另一個模塊的代碼小魚點睛父子關系統(tǒng)一配置聚合關系決定一起構建依賴關系決定能否使用對方的 Java 類。兩個目錄即使緊挨在一起也不會自動產生代碼依賴。三、項目真實的模塊依賴方向整個項目可以簡化成tst-pharma-admin 主應用啟動和組裝 │ ┌───────────────────┼────────────────────┐ │ │ │ ▼ ▼ ▼ tst-pharma-system tst-pharma-chat tst-pharma-workflow 系統(tǒng)管理業(yè)務 AI聊天與知識庫 傳統(tǒng)業(yè)務流程 │ ▼ tst-pharma-aiflow AI流程編排 上述業(yè)務模塊繼續(xù)依賴 tst-pharma-common-* 公共基礎組件更準確地說admin直接依賴tst-pharma-system tst-pharma-generator tst-pharma-chat tst-pharma-workflow tst-pharma-aiflow因此最終啟動admin時這些業(yè)務模塊都會進入主應用。四、admin是怎么把所有業(yè)務模塊裝進來的文件D:\Tools\java\aiwork\tst-pharma-main-backend\tst-pharma-admin\pom.xml它聲明了admin ├─ 依賴 system ├─ 依賴 generator ├─ 依賴 chat ├─ 依賴 workflow └─ 依賴 aiflow構建主應用時Maven 會把這些模塊的編譯產物和依賴一起放進最終應用??梢詫⒆罱K運行的應用理解成tst-pharma-admin.jar ├─ admin 自己的類 ├─ system 模塊的類 ├─ chat 模塊的類 ├─ workflow 模塊的類 ├─ aiflow 模塊的類 ├─ generator 模塊的類 └─ 它們所依賴的 common 類因此運行時主要是一個 JVM 進程 一個 Spring 容器 一個后端端口 6039而不是system 啟一個端口 chat 啟一個端口 workflow 啟一個端口 aiflow 再啟一個端口所以當前主體架構屬于模塊化單體應用不是微服務架構。五、公共模塊是怎么被業(yè)務模塊使用的例子一聊天模塊使用 SSEChatServiceFacade中privatefinalSseEmitterManagersseEmitterManager;SseEmitterManager不在聊天模塊而在tst-pharma-common-sse聊天模塊的pom.xml聲明了dependencygroupIdcom.tst.pharma/groupIdartifactIdtst-pharma-common-sse/artifactId/dependency完整關系是tst-pharma-chat │ │ Maven 依賴 ▼ tst-pharma-common-sse │ ├─ SseEmitterManager ├─ SseMessageUtils ├─ SseEventDto └─ SSE 自動配置于是聊天模塊才能建立 SSE 發(fā)送 content 發(fā)送 done 發(fā)送 error 關閉 SSE例子二聊天模塊使用登錄認證聊天代碼中使用LoginHelper.getUserId(); StpUtil.getTokenValue();這涉及common-satoken common-redis Sa-Token依賴鏈不一定都由聊天模塊直接聲明也可以通過依賴傳遞獲得。簡化理解tst-pharma-chat ↓ common-chat / common-sse / common-web ↓ common-satoken ↓ common-redis ↓ Redis所以一個模塊不一定需要把所有底層依賴都重新聲明一遍。例子三系統(tǒng)模塊使用 MyBatisSysConfigMapperpublicinterfaceSysConfigMapperextendsBaseMapperPlusSysConfig,SysConfigVo{}其中BaseMapperPlus位于tst-pharma-common-mybatis關系為tst-pharma-system │ ▼ tst-pharma-common-mybatis │ ▼ MyBatis-Plus │ ▼ MySQL因此system模塊不需要自己再實現(xiàn)一套分頁、Mapper 基類和數(shù)據庫配置。六、模塊之間不僅靠 Maven還靠 Spring 連接Maven 解決的是編譯時能不能看到另一個模塊的類Spring 解決的是程序啟動后具體使用哪個實現(xiàn)對象啟動類D:\Tools\java\aiwork\tst-pharma-main-backend\tst-pharma-admin\src\main\java\com\tst\pharma\TstPharmaApplication.java位于根包packagecom.tst.pharma;并且有SpringBootApplicationSpring 默認會從啟動類所在包向下掃描com.tst.pharma ├─ controller ├─ service ├─ config ├─ factory ├─ workflow └─ ...即使類分別位于不同 Maven 模塊中只要最后都被admin引入并且包名屬于com.tst.pharma...Spring 就能發(fā)現(xiàn)它們。例如chat 模塊 └─ ChatController └─ Controller chat 模塊 └─ ChatServiceFacade └─ Service aiflow 模塊 └─ WorkflowStarter └─ Spring Bean common-sse 模塊 └─ SSE 自動配置 └─ 注冊 SseEmitterManager它們最后都在同一個 Spring 容器中。七、Spring 依賴注入是怎么跨模塊工作的例如ChatController中privatefinalChatServiceFacadechatService;因為類上有RequiredArgsConstructorLombok 會生成類似構造器publicChatController(ChatServiceFacadechatService){this.chatServicechatService;}Spring 啟動時發(fā)現(xiàn)ChatController 需要 ChatServiceFacade然后又發(fā)現(xiàn)ServicepublicclassChatServiceFacade{}于是完成注入Spring 容器 ├─ 創(chuàng)建 ChatServiceFacade ├─ 創(chuàng)建 ChatController └─ 把 ChatServiceFacade 放進 ChatController雖然它們處在不同目錄甚至不同 Maven 模塊也不影響運行時注入只要滿足1. admin 的 Maven 依賴把兩個模塊裝進來了 2. Spring 掃描到了對應類 3. 類注冊成了 Bean 4. 依賴類型能夠匹配。小魚點睛Maven 只解決“編譯時能不能看見接口和類”真正把接口字段連接到實現(xiàn)對象的是 Spring 容器。只有編譯依賴、Bean 掃描和類型匹配同時成立跨模塊注入才會成功。八、項目中最典型的跨模塊設計common-chat接口橋梁這一部分很重要因為它解釋了chat和aiflow為什么可以互相協(xié)作但沒有在 POM 中直接互相依賴。先看結構tst-pharma-common-chat ├─ IChatService ├─ IChatModelService └─ IWorkFlowStarterService它們只是接口和公共協(xié)議不包含具體業(yè)務實現(xiàn)。聊天服務接口位于tst-pharma-common-chat └─ IChatService具體實現(xiàn)位于聊天模塊ServicepublicclassChatServiceFacadeimplementsIChatService{}關系common-chat └─ 定義 IChatService chat └─ ChatServiceFacade 實現(xiàn) IChatService工作流啟動接口位于tst-pharma-common-chat └─ IWorkFlowStarterService具體實現(xiàn)位于 AI 流程模塊publicclassWorkflowStarterimplementsIWorkFlowStarterService{}關系common-chat └─ 定義 IWorkFlowStarterService aiflow └─ WorkflowStarter 實現(xiàn) IWorkFlowStarterServicechat 調用 aiflowChatServiceFacade中不是直接依賴某個aiflow內部類而是privatefinalIWorkFlowStarterServiceworkFlowStarterService;流程是ChatServiceFacade │ │ 只認識公共接口 ▼ IWorkFlowStarterService ▲ │ 由 Spring 在運行時尋找實現(xiàn) │ WorkflowStarter這樣chat模塊在編譯時不需要直接依賴aiflow。aiflow 調用 chataiflow的WorkflowUtil中使用privateIChatServicechatService;privateIChatModelServicechatModelService;流程WorkflowUtil │ │ 只依賴公共接口 ▼ IChatService ▲ │ Spring 注入實現(xiàn) │ ChatServiceFacade所以整體是common-chat 公共接口和公共請求對象 ▲ ▲ │ │ chat aiflow 實現(xiàn)聊天接口 實現(xiàn)流程接口這叫通過公共契約解耦業(yè)務模塊。小魚點睛把接口下沉到雙方都能依賴的公共模塊目的不只是“集中存放公共類”而是反轉依賴方向業(yè)務模塊面向穩(wěn)定契約協(xié)作避免chat和aiflow在 POM 中相互咬住。九、為什么接口要放在common-chat而不是直接放在chat如果IChatService放在tst-pharma-chat那么aiflow為了調用它就必須aiflow → 依賴 chat同時聊天模塊為了啟動 AI 工作流可能又需要chat → 依賴 aiflow最后形成chat → aiflow ↑ ↓ └───────┘這就是 Maven 循環(huán)依賴。Maven 無法正常處理這樣的模塊關系。當前項目把接口放進公共模塊后變成chat ──────→ common-chat aiflow ────→ common-chat然后由admin同時引入admin ├─ chat └─ aiflow運行時再由 Spring 把實現(xiàn)連接起來。這個設計可以理解為插座common-chat └─ 規(guī)定插座形狀 chat └─ 提供一種插頭 aiflow └─ 提供或使用另一種插頭 Spring └─ 啟動時把兼容的插頭插到插座上十、admin是最終的組裝者這個項目中真正知道“我要同時加載哪些業(yè)務模塊”的是tst-pharma-admin它的pom.xml相當于組裝清單主應用需要 ├─ system ├─ generator ├─ chat ├─ workflow └─ aiflow因此可以這樣理解common └─ 制造公共零件 modules ├─ 制造用戶系統(tǒng) ├─ 制造聊天系統(tǒng) ├─ 制造業(yè)務工作流 └─ 制造 AI 工作流 admin └─ 把所有零件和業(yè)務模塊裝成完整應用十一、數(shù)據庫 Mapper 又是怎么跨模塊加載的配置位于D:\Tools\java\aiwork\tst-pharma-main-backend\tst-pharma-admin\src\main\resources\application.yml其中配置了mybatis-plus:mapperPackage:com.tst.pharma.**.mappermapperLocations:classpath*:mapper/**/*Mapper.xmltypeAliasesPackage:com.tst.pharma.**.domainMyBatis 配置類使用MapperScan(${mybatis-plus.mapperPackage})意思是掃描所有模塊中符合下面規(guī)則的 Mappercom.tst.pharma.任意內容.mapper例如system 模塊 └─ com.tst.pharma.system.mapper.SysConfigMapper chat 模塊 └─ com.tst.pharma.mapper.ChatMessageMapper workflow 模塊 └─ 對應的 mapperclasspath*:也表示不只查當前模塊還會查依賴 JAR 中的 Mapper XML。所以啟動一個admin能夠把多個業(yè)務模塊中的 Mapper 全部注冊到同一個 MyBatis/Spring 容器。十二、配置文件如何影響所有模塊主要運行配置集中在tst-pharma-admin\src\main\resources\application.yml tst-pharma-admin\src\main\resources\application-dev.yml這里配置端口 數(shù)據庫 Redis MyBatis Sa-Token 多租戶 日志 SSE 上傳目錄雖然配置文件在admin但 Spring 啟動后創(chuàng)建的是一個統(tǒng)一環(huán)境。因此system 模塊可以使用數(shù)據源 chat 模塊可以使用數(shù)據源 workflow 模塊可以使用 Redis common-sse 可以讀取 SSE 配置 common-satoken 可以讀取認證配置它們不需要各自維護一套application.yml??梢岳斫獬蒩dmin application.yml │ ▼ Spring Environment ├─ system 使用 ├─ chat 使用 ├─ workflow 使用 ├─ aiflow 使用 └─ common 組件使用十三、數(shù)據庫和 Redis 也是模塊之間的公共基礎設施當前主要業(yè)務模塊運行在同一個應用中并共享MySQL Redis 登錄狀態(tài) 租戶上下文 事務管理器 SSE 連接管理例如一次聊天請求可能發(fā)生chat 模塊 ├─ 從 chat_model 表查詢模型配置 ├─ 從 chat_message 表查詢歷史消息 ├─ 從 knowledge_info 表查詢知識庫配置 ├─ 使用 Redis/登錄上下文獲取認證信息 └─ 使用 SSE 向當前用戶發(fā)送結果但要注意共享同一個數(shù)據庫不代表模塊應該隨意直接修改其他模塊的表。正常情況下應優(yōu)先模塊 A → 調用公共接口 → 模塊 B 的 Service → 模塊 B 的 Mapper → 模塊 B 負責自己的表而不是模塊 A → 直接拿模塊 B 的 Mapper → 隨意修改模塊 B 的表否則模塊邊界會再次被破壞。十四、用聊天請求看模塊之間如何真正協(xié)作一次POST /chat/send背后會經過很多模塊??蛻舳苏埱?│ ▼ common-web / common-satoken ├─ Web 請求處理 ├─ 登錄認證 └─ 用戶上下文 │ ▼ tst-pharma-chat ├─ ChatController ├─ ChatServiceFacade ├─ 場景分類 └─ 模型調用 │ ├──────────────┐ ▼ ▼ common-sse common-chat SSE連接和事件 公共請求對象和接口 │ │ │ ├─────────────┐ │ ▼ ▼ │ aiflow chat實現(xiàn) │ AI流程啟動 模型聊天實現(xiàn) │ ▼ 瀏覽器逐段接收回復如果是普通聊天ChatController → ChatServiceFacade → ChatModelService → ChatServiceFactory → 模型供應商實現(xiàn) → LangChain4j → 外部模型接口 → common-sse → 前端如果是 AI 工作流ChatController → ChatServiceFacade → IWorkFlowStarterService → aiflow 中的 WorkflowStarter → AI 工作流節(jié)點執(zhí)行 → 需要模型時調用 IChatService → chat 中的 ChatServiceFacade → 模型這就是多個模塊之間的真實協(xié)作。十五、extend為什么沒有被直接裝進admin根 POM 聚合了tst-pharma-extend所以執(zhí)行根 Maven 構建時會一起構建monitor-admin snailjob-server但是admin/pom.xml沒有把它們作為主業(yè)務依賴引入。這說明根 POM 聚合它們 ≠ admin 運行時包含它們它們更可能是獨立啟動的擴展服務主后端 └─ tst-pharma-admin 監(jiān)控服務 └─ tst-pharma-monitor-admin 任務調度服務 └─ tst-pharma-snailjob-server所以再次強調聚合 └─ 一起構建 依賴 └─ 編譯和運行時使用十六、當前項目的核心模塊關系圖可以先保存這張圖tst-pharma-main-backend │ ├─ tst-pharma-common │ ├─ common-core │ │ └─ 最底層公共對象、異常、工具 │ │ │ ├─ common-redis │ │ └─ 依賴 common-core │ │ │ ├─ common-satoken │ │ └─ 依賴 common-core、common-redis │ │ │ ├─ common-mybatis │ │ └─ 依賴 common-core、common-satoken │ │ │ ├─ common-sse │ │ └─ 依賴 core、redis、satoken、json │ │ │ ├─ common-web │ │ └─ Web 公共能力 │ │ │ └─ common-chat │ ├─ 依賴 core │ ├─ 依賴 sse │ ├─ 依賴 mybatis │ └─ 定義聊天、模型、工作流公共接口 │ ├─ tst-pharma-modules │ ├─ system │ │ └─ 依賴 MyBatis、Web、認證、租戶等公共模塊 │ │ │ ├─ chat │ │ ├─ 依賴 common-chat │ │ ├─ 依賴 common-sse │ │ ├─ 依賴 common-web │ │ └─ 實現(xiàn) IChatService、IChatModelService │ │ │ ├─ aiflow │ │ ├─ 依賴 common-chat │ │ ├─ 使用 IChatService │ │ └─ 實現(xiàn) IWorkFlowStarterService │ │ │ ├─ workflow │ │ └─ 依賴 MyBatis、Web、租戶、認證等公共模塊 │ │ │ └─ generator │ └─ 依賴 MyBatis、Web、文檔、日志等公共模塊 │ ├─ tst-pharma-admin │ ├─ 引入 system │ ├─ 引入 chat │ ├─ 引入 workflow │ ├─ 引入 aiflow │ ├─ 引入 generator │ └─ 啟動一個完整 Spring Boot 應用 │ └─ tst-pharma-extend ├─ monitor-admin └─ snailjob-server十七、判斷“兩個模塊怎么關聯(lián)”的固定方法以后看到兩個模塊不要憑目錄名猜可以按下面五步確認。第一步看調用模塊的pom.xml例如想知道chat能不能使用common-sse打開 tst-pharma-chat/pom.xml 搜索 tst-pharma-common-sse如果有依賴說明編譯時可見。第二步看 Javaimport例如importcom.tst.pharma.common.sse.core.SseEmitterManager;說明代碼確實使用了該模塊的類。第三步看字段注入類型例如privatefinalIWorkFlowStarterServiceworkFlowStarterService;說明當前類依賴的是接口。第四步查誰實現(xiàn)接口搜索implements IWorkFlowStarterService找到aiflow → WorkflowStarter第五步確認最終啟動模塊是否同時引入雙方查看tst-pharma-admin/pom.xml確認同時依賴chat aiflow這樣 Spring 運行時才有機會把它們連接起來。十八、核心結論結論一目錄相鄰 ≠ 有依賴關系真正的編譯依賴看pom.xml 中的 dependency結論二根 POM 中有 module ≠ 該模塊被裝進主應用它可能只是一起構建。結論三admin 是主應用組裝者它把system、chat、workflow、aiflow、generator放進同一個 Spring Boot 應用。結論四common 提供公共能力和公共接口 modules 提供具體業(yè)務實現(xiàn)結論五模塊之間推薦通過公共接口 Spring 依賴注入進行協(xié)作而不是互相直接依賴內部實現(xiàn)。結論六當前主體不是微服務而是模塊化單體 ├─ 編譯時分模塊 ├─ 代碼職責分模塊 └─ 運行時主要在同一個 Spring Boot 進程最典型的真實關系就是ChatServiceFacade │ │ 實現(xiàn) ▼ IChatServicecommon-chat ▲ │ 使用 │ WorkflowUtilaiflow以及反方向WorkflowStarteraiflow │ │ 實現(xiàn) ▼ IWorkFlowStarterServicecommon-chat ▲ │ 使用 │ ChatServiceFacadechat它們由admin同時組裝再由 Spring 在運行時連接。這個例子基本涵蓋了整個項目模塊化設計的核心??偨Y本文圍繞“解釋模塊為什么能互相使用以及 Maven、Spring 和公共接口分別承擔什么職責”主要分析了父子、聚合和依賴三種 Maven 關系的邊界啟動模塊如何完成業(yè)務模塊的最終組裝Spring 如何跨 JAR 掃描 Bean 并按接口注入實現(xiàn)公共接口橋梁如何控制依賴方向并避免循環(huán)依賴整個過程可以概括為根 POM 聚合 → 子模塊聲明依賴 → Java 使用公共接口 → Spring 掃描實現(xiàn)類 → admin 統(tǒng)一裝配 → 運行時完成調用Maven 解決“編譯時能不能看見”Spring 解決“運行時由誰來實現(xiàn)”公共接口解決“依賴應該朝哪個方向”。三者缺一不可。當前進度[OK] 已經完成已完成主要模塊 POM 依賴方向的靜態(tài)核對已通過接口定義、實現(xiàn)類和啟動模塊還原聊天模塊與工作流模塊的協(xié)作關系[TODO] 后續(xù)繼續(xù)下一篇對比普通 CRUD 分層與 AI 對話編排分層繼續(xù)結合真實請求理解模塊協(xié)作在運行時如何落到方法調用小魚點睛Maven 解決“編譯時能不能看見”Spring 解決“運行時由誰來實現(xiàn)”公共接口解決“依賴應該朝哪個方向”。三者缺一不可。下一篇下一篇將繼續(xù)分析“AI 智能客服為什么不能照搬傳統(tǒng)三層架構CRUD 與 AI 編排分層對比”把本文建立的結構認知繼續(xù)落到具體代碼和對象流上。這篇文章是我在真實項目學習過程中的階段性記錄。不同項目的命名和目錄可能不同但判斷職責邊界、依賴方向和數(shù)據生命周期的方法可以復用。如果內容中還有遺漏歡迎一起交流。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本 免费 一区二区三区 久久香蕉 | 裸模AV女优| 国产极品馒头逼| 少妇蜜汁| 日本一区二区成人在线| 久久永久无码人妻视频| 欧美高潮| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 中文字幕精品亚洲熟女| 曰本精品久久久| 中文字幕在线免费观看视频| 欧美激情性久久久久久| 少妇久久久| 久久久91福利姬| 日本丝袜美腿人妻九九| 大香蕉免费中文| 破苞ⅩXXX性无码动漫无码| 国产高清自拍视频| 亚洲国产综合视频| 97碰碰色| 玖玖久久久| 人妻一区二区三区四区视频| 男人的天堂不卡一区二区| 天天做日日做| 国产精品无码久久久久2028| 免费的很黄很污的全部视频| 色九色久| 97在线视频观看免费| 亚洲综合九| 久久久久久九九九九-美女久久久久久久-成人AV| 色婷婷五月综合| 91丨九色丨国产丨人妻在线 | 中文字幕第2页| 密臀成人视频久久久| 欧美体内射精| 日韩有码 一区二区三区| 欧美日韩香蕉| www.五月天| 嫩草伊人久久精品| 国产色精品午夜大片| 精品制服美女中文一区二区三区| 99热91| 亚洲熟妇乱女区二区三区| 熟女乱3伦999| 老司机老司机午夜影院| 中文字幕在线观看第二页| 在线观看啊啊啊啊啊| 中文一区二区三区影院| 强奸xx国产| 狠狠干精品一二三四五六2022| 日本一线产区和二线产区伦理片| 亚洲最新中文字幕免费| 欧美成人亚洲精品| 日韩一二三区| 狠狠综合| 亚洲骚男同com| 三级日韩一区二区三区| 天天91~综合入口| 久肏视频字幕| 亚洲色图欧美视频| 内射中国少妇高清视频免费视频 | 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 91亚洲影视| 久久香蕉国产线看观看猫咪av| 久操操| 精品人妻伦一区二区三区久久| 精品人妻一区二区三区四区| 欧美日韩一区二区三区四区蜜桃| 夜夜福利| 琪琪精品免费一区二区三区| 97国产精品国| 搡老熟女免费视频 | 曰韩成人免费视频| 亚洲综合九| 天天日天天搞天天干| 国产suv精品一区二区四| 性欧美| 黑人精品成人一区二区三区| 欧美成人国产精品| 日韩人妻中文视频| 欧美激情亚洲情色| hd成人一区二区在线| 久干网| 日韩无码精品综合久久| 欧美91精彩| 人人摸.人人色| 国产盗摄美女如厕大神作品在线观看| 国产 日韩 欧美一区| 少妇 综合| 蜜臀99久久精品久久久懂爱| 日韩欧亚太美不卡| 亚洲国产精品成人综合| 91成人国产综合久久精品蜜月| 日韩三级伦理中文字幕| 人夜夜精品网站香蕉嫩草| 91美女小视频| 啊啊啊在线观看免费视频| 99这里只有精品国产| 97免费视频网| 91呆哥人妻| 殴美色网| 国产性感在线观看| 国产成人无码a| 91女优在线观看 | 在线看污网站| 黄色高清无码无码破解免费暗网| 五月天AV资源| 97色在线| A级国产欧美激情在线| 亚洲 欧美 另类 日韩 人妻一区| 国产a级午夜毛片| 欧美天天影院| 青青11操操操操操操操操| 亚洲国产日韩精品久久久| 黑丝内射一区二区三区| 亚洲一区二区三区春色| 玖玖超碰熟| 亚洲欧美国产日本一区二区三区| 久草加勒比一区在线| 国产原创精品| 免费A V在线播放| 亚洲丝袜二区在线| 男插女青青影院| 亚洲AV无码AV吞精久久久久| 精品69网| 黄色二级片网站| 久久人人爽爽人人爽人人片αV| 91 国产丝袜在线播放-百度| 这里只有精品视频| ?亚洲伊人伊成久久人综合网| 久热最新在线杭州| 97精品综合久久网| 男人的天堂2019AV| 久久午夜鲁丝片| 韩国嫰模上门援交视频| 中文字幕一二三区| 很很热性爱视频| 久久久97| 欧美啪啪色吧在线| 亚洲无线码一区国产欧美国| 色五月首页| 一区二区偷拍拍视频| 亚洲欧洲色情高清| 我要色综合网| 国内毛片婷婷六月色| 99国产精品视频尤物| 91爱看| 另类图片欧美激情综合| 大香蕉AV在线| 精品无码久久久久久久久果冻糖心| 久久国模av| 亚洲有薄码区日本系列中文字幕| 97操在线| 四虎午夜影院| 国产成人欧美一区二区三区的国产| 久久精品一区二区三区不卡| 久久蜜色情在线视频xxx免费观看| 天天做日日爱夜夜爽| 国产午夜在线观看| 黄色交缠性感爆操91国产精品免费一区二区三区| 狼人综合婷婷激情四射| 久久草在线综合视频| V A在线| 物尤视频一区二区| 亚洲欧美精品一区天堂久久 | 国产成人主播| 亚洲精品视频二区| www.色操逼| 亚洲欧洲成人在线电影| 狠狠热这里都是精品| 熟女AV一区| 精品人妻二区三区| 91色综| 啊嗯嗯啊好大好爽| 久草精品国产蜜臀 | 日本亚洲熟女视频| 国产精品视频一区二区三区八戒| 久9re热视频这里只有精品| 欧美日韩制服| 丰满人妻一区二区中文| 女同性恋一区二区三区精品视频| 九九热视频在线观看| 欧美网站免费| 亚洲无码一二三区| 日本狂喷奶水在线播放212| 电家庭影院午夜69久久夜色精品国产69乱| 亚洲色图欧美色图综合| 超碰一区二区| 久久久九精品| 免费看国产大AB| 国产AV天美| 97欧美性爱| 国产丝袜欧美在线视频| 大香蕉日韩| 天天操天天看| 97超碰总站| 伊蕉97蜜桃97狠狠综合干| 日韩99999色| 天天日日夜夜| 吻戏激情性巴克| 国产又爽又黄| 亚洲欧美精品福利在线| 亚洲最大无码中文字幕网站| 亚洲天堂一区二区久久| 日韩成人在线性爱视频| 无遮挡一级毛片视频免费的| 性无码专区2020| 精品午夜福利| 试看60秒 爽| A久久| 男人天堂资源| 国产一级久久久| 午夜无遮挡男女啪啪视频| 宅男午夜在线视频| 日韩av乱伦| 91麻豆天美国产欧美高潮| 欧美在线 亚洲| 久久久久白虎| 岛国网址国产| 国产精品日日摸天天碰| 超碰一区二区| 涩涩久久精品| 久久动漫精品视频这里只有精品| 久久久久国产亚洲一区欧美色图日韩 | 亚洲欧美情色| 人人手机欧洲亚洲国产人妻| 久久国色天香香蕉| 97色欧州| 啊啊啊啊啊啊啊啊啊在线观看| 欧美日本天堂| 超碰97亚洲区| 欧美激情 亚洲色图| 午夜啊啊| 无码一区免费在线不卡| 精品国产一区二区三区在线播出| 无码丰满熟妇一区二区浪潮AV| 八戒无码国产午夜福利| 日本理论在线| 九九九九九九九九九九九免费国产| 欧美少妇大量自拍视频在线观看| 中文字幕-区二区三区四区视频中国| 久久蜜色情在线视频xxx免费观看| 亚洲欧美精品久| Aa东京男人的天堂| 大香蕉伊人75| 久久av无码| 极品欧美一区二区三区| 日韩人成网站在线播放| 国产精品色色| 国产污视频麻豆传媒一区二区| 九一精品牛牛一区二区| 久久久亚洲熟妇资源| 欧洲精品一级二级精品综合视频综合| 天天干天天舔| 成人午夜无码视频| 精品久久久久久亚洲| 99爱久久视频频| 日本久久综合| 啊啊啊免费视频| ,成人免费啪啪视频| 丁香六月东京热| 久/久精品99看9| 青青爽| 久久6热视频免费观看| 日韩美女操b| 欧美一级黄色免费专区| 97色亚洲| 色欲天天婬色婬香WWW夜色| 国产日韩久久| 天天添天天干电影| 天久久久噜噜噜久久国产精品爽爽 | 欧美色乱| 久久久久亚洲AV无码专区少妇| 强奸乱伦麻豆| 欧洲一级性爱视频在线观看| J?P?NESEHD熟女熟妇伦| 激情五月天插| 国产蜜臀精品一区免费尤物| 国产精品天美传媒| 女同在线视频一区| 97一区二区蜜臀| 乱伦系列一区二区| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 婷婷五月天久久精品视频一区二区三区| 伦在线97| 欧美高清18A片| 中文字幕精品资源在线| 美女啪欧美一区| 蜜臀久久99精品久久久久久-DVD| 久久五十路熟女人妻| 五月丁香六月综合缴清无码 | 日本精品国产视频| 国产强奸乱伦第1页| 久久草视频污视频| 97超碰中文字幕| 另类老少妇| 久久二| 日本天天干天天操一区| 一级性爱啪啪视频| 亚洲精品视频在线播放| 人人人人插| 青青草日韩无码| 天美一区在线| www.91人妻.com| 国产精品无码久久久久2025| 欧美在线干| 蜜臀av在线播放一区二区三区| 久久久九97| 国产人妖视频一区在线观看| 9丨亚洲一区二区在线| 九九在线精品| 欧美久久人体| 久久亚洲精品成人av| 久久av色| 91色图| 九九色精品| 热的中文 热的有码 热的国产| 亚洲和欧美裸体美女双飞视频| 97超碰色情| 黄色视频60分钟| 欧美亚洲综合色| 天天情欲宗合网| 男人天堂站| 日本日日色视频| 韩国免费播放一级毛片| 国模精品一区二区三区苹果色戒 | 东京热熟女亚洲视频网站| 日韩大香蕉AV影片| 日本色色的视频| 绑缚麻绳人妻寝取完整版| 宅男影院久久久,99| 久久久久亚洲熟妇熟女| 国产欧美精选激情视频| 啊啊啊啊免费视频| 日本激情免费大片| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 超碰色男人操熟女| 人妻黑丝袜电影| 天天日天天操VV| 老熟女综合网| 黄污污污污| 亚洲高清欧美总合| 五月丁香六月激情综合| 精品97久久| 六月丁香五月婷婷| 日韩无码一区二区三区| 成人av福利在线观看| 欧美日韩成人在线| 色97干| 香蕉久久国产AV一区二区| 伊人色综合欧美| 国产白嫩精品久久| 内射卯月麻衣| 一区二区三区国产精产| 久久天堂| 少妇500双飞99| 亚洲熟伦熟妇AV无码春色| AV天堂电影网| 欧美精品精品一区二区| 色欲人妻一区二区在线| 啪啪视频亚洲第一| 91香蕉国产尤物视频| 九九九九九九免费视频| 中文字幕日韩人妻视频| 欧美少妇色综合| 日本综合色图| 男人的天堂成人的社区| 巨爆乳肉感一区二区三区竹菊影视 | 2003天天干夜夜操| 老熟妇一区二区三区…| 少妇厨房愉情理伦片bd在线观看 | 亚洲一区中文精品| 亚洲激情色片| 操婷婷逼| 男人天堂欧美| 超碰成人免费| 91人妻人人澡人人爽人人精品| 韩国女主播青草福利视频| 亚洲一区在线观看欧洲| 久久综合久色欧美综合狠狠 | 免费看污网站| 欧美裸体美女日麻屄| 亚洲限制级在线| 久久精品久久久久久久| 亚洲天堂另类小说男人| 极品尤物自安慰| 乱色老一区二区三区的观看方式 | 视频黄色国产一级| 中文字幕1区2区| 最新国产精品久久精品| 婷婷性网| 男人的天堂2010| 极品综合| 久久9久久| 久草久热| 在线性黄高清免费视频| 黄色无码高清黄色无码网站| 国产超碰欧美| 国产高清不卡视频| 亚洲综合五月天| 日本精品中文字幕视频| 一卡二卡在线播放| 亚洲AV不卡在线观看尤物| 色丁香久久| www.色吧5.com| 日日嗷| 日韩紧密久久| 五月丁香啪啪啪| 韩日性爱av| 野狼福利社区| 蜜桃臀AV在线| 性老妇一区二区三区| 激情文学网伊人| 91在线视频免费播放| 天天日天天干天天操| 欧美亚洲色的图| 91中文精品日韩欧美在线| 综合久久婷婷| 欧美性爱视频免费一区一A| 另类图片天天影视| 青青操日韩| 夜夜福利| 9久久美女首页| 久视频在线观看| 色婷婷丁香五月天| www.av在线观看| 狠狠操夜夜| 大香蕉免费3| 少妇高潮九九九九| 草久在线| 熟女少妇视频| 色天天野狼综合社区| 狠狠躁天天躁日日躁| 五月丁香六月激情| 激情综合五月| 五月婷婷无码| 超碰免费人人| 日本久久精品| 91九九| www久久99| 欧美国产伊人久久久久| 国产精品一区二区三区,亚洲综合| 特色a在线上| 午夜操一视频一区| 一区二区视频在看| 大香蕉中文201| 熟人人妻少妇精品久久| 欧美视频一区二区三区| 蜜臀久久精品久久久久视频| ...日韩成人一区二区三区字幕| 成人天天看站长推荐| 在线 亚洲 网爆 自拍| 日本天天吊| 91蜜臀熟女| 丁香六月综合激情| 日日干日日| 亚洲欧洲偷拍一区| 国产精品一二三免费网站| 思思热在线| 五月丁香六月激情综合| 国产欧美精品日韩区二区麻豆天美| 99综合免费视频| 亚洲AV成人无码一区二区三区在线观看| 日韩午夜精品一区二区三区电影| 国产一级作爱毛片| 精品一区二区三区国产| 麻豆国产精品午夜视频| 被男人吃奶很爽的毛片| 秋霞一级鲁丝片A片| 狠狠久久手机视频精品| 亚洲视频1区| 色综合天天| 中文字幕精品日韩中文字幕| 国产第25页在线观看| 久久AV无码网址| 熟女突然公开看18禁影片 | 熟女露脸激情自拍视频| 亚欧美色图| 精品丰满熟妇人妻一区| 骚货操死你| 欧美 亚洲 在线| 狠狠爱大香蕉| 少妇熟女1区2区3区| 国产无码高清操逼视频| 成人a大片在线观看| 中文精品一区二去| 熟女人妻一区二区三区| 成人八戒网站| 天天拍天天操| 色月天AV导航| 欧美亚洲se91| 亚洲精品蜜桃久久久| 欧美se综合| 99色网| 中文字幕日韩电影人妻| 亚洲人妻中文高清| 欧美天天插| 玖玖蜜臀资源网| 午夜精品久久久久| 91痴汉| 中文字幕欧美丝袜07资源| 久久久九九| 好爽视频在线观看视频| 亚洲精品乱码线路中文字幕 | 美欧色综合| 欧美精品久久96人妻无码| 亚洲欧美综合区自拍另类| 精品国产肉丝袜在线拍国语| 人人摸人人添人人操| 色女99一级片在线观看| 亚洲AV无码黄色强奸| 97色涩| 久久青青草原免费视频| 女生自91网站| 93人人操人人| chaopen97久久| 欧美色性爱| 人人摸人人添人人操| 国产亚洲精品农村妇女| 久污| 久久婷色| 久操热| 青青色综合| 97综合久第一页| 青青草日本无码| 久久风骚城市人| 久操不卡视频| 亚洲素人网| 日本一区视频在线观看| 百度百度日本操逼| 日本成人免费一区二区三区| 国产中文大片资源中文字幕| 超碰人妻97| 伊人精品久久网站| 伊人亚洲国产一成人久久精品,久久| 欧美少妇性乱| 综合亚洲网| 亚洲精品尤物yw在线影院| 97色碰| 欧美精品久久| 国产一国产一级毛片古装| 91三级理论片播放器| 色av中文字| 老熟妇一区二区三区| 亚洲日韩在线a不卡99精品| 屁股久久久久久久久| 久久综合日韩亚洲欧美| 在线观看亚洲专区| 天天综合91入口| 日本东京热大香蕉a片| 殴美在线AⅤ| 果冻传媒A片麻豆熟妇人妻| 国产欧美岛国精品一区| 日va操| 色欲天天综合网| 欧美青青视频| 蜜乳中文字幕a在线| 久久精品99| 夜夜综合| 日本操逼aaaaa| 熟女丝袜视频| 啊啊啊啊操死我| 五月丁香激情综合| 麻豆人妻偷人精品无码视频| 97操B| 久草新免费| 激激五月| 超碰在线国产| 户外裸露刺激视频第一区| 成人av毛片在线观看| 亚洲AV噜噜狠狠网址蜜桃动漫| 口爆综合网| 日韩三级av片| 精品亚洲国产成人精品| 99re热有精品视频国产| 日韩欧美性吧婷婷乱伦大香蕉| 91精品久久久久| 啊啊啊啊啊啊啊啊啊啊在线观看| 亚洲射综合网| 五月天久久婷婷亚洲 | 99在线啪| 超碰av在线| 天天视频网站黄| 智利AV在线网| 内射黑人| 天天大干大香蕉| 思思热在线视频免费| www.91色| 日韩精品一二三| 九九九久久久久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 天天影视综合网欧美精品| 97伊人超碰| 静品嫩模一区二区| 天躁夜夜躁2021| 99精品网| 青草精品视频-日本久久久久网站| 五月综合激情| 思思热一热婷婷热一热| 蜜臀99久久精品| 四虎免费视频| 亚洲情色一区二区三区| 97操97色| 欧美在线|亚洲| 国产女人91精品嗷嗷嗷嗷| 久久激情视频| 人妻系列无码专区中文有码| 成人精品水蜜桃久久久久久久| 日韩精品视频在线观看一卡二卡| 欧美高潮| 91丨九色丨国产打屁股| 葡萄牙性视频一二区 | 欧美成人色| 人人操人人插人www| 很很很很操| 国模精品一区二区三区苹果色戒 | 国产91乱伦| 97欧美色| 天堂蜜桃无码视频一区二区| 人人人摸人人| 久久久久国产精品人妻aⅴ天堂| 91精品黄在线观看| 清纯唯美第一页| 日本不卡高清免v欧美日韩在线观看| 老外又粗又长一晚做五次| 熟妇国产免费一区| 激情99| 18禁看网站一区| 国产乱青青草久久| 亚洲天堂综合AV| 国产精品日韩在线一区| 亚州五月| 一品道视频一区二区三区| 欧美呦呦性爱| 伊人欧美大香蕉视频| 九九精品美女高溯喷水| 色综合久久88色综合久久天天| 欧洲精品二区| 亚洲美女色图| 中文字幕在线观看丝袜| 超碰在线欧美性爱激情| 欧美91网站| 清柠毛片| 亚洲无码免费看| 91久| 国产成自自拍在线观看| 无码自拍SM| 亚洲人成网站7777| 校园春色家庭伦理欧美激情| AV天天综合| 国产真实野战在线视频| 国产精品久久久久久久久久久久久久吹 | 啊啊啊啊啊啊好多水| 欧美性暴力猛交XXXX| 可以在线观看的黄色网址| 五十路三区在线| 99热日| 美女露胸露屁股| 日本在线视频导航| 亚洲 暴爽 AV人人爽日日碰| 女上位精品在线| 亚洲码和欧洲精品激情系列| 婷婷久草| 女同女同恋久久级三级| 好属操| 亚州 综合 色图| 另类图片五月| 国产福利第一视频| 亚洲一级性爱视频免费看| 啊啊啊啊啊啊好多水| 九久久精品| AV99热18这里只有精品| 1024亚洲中文字幕久在线看片你懂的| 8050无码八戒| 欧美真人抽搐一进一出gif| 亚州欧美另类| 色偷偷人人玩人人舔人人操人人摸人人爽| 久久久久久久九九九九九九| 大香蕉综合在线| 婷婷午夜成人色中色| 精品无码欧美三级| 中文字幕乱亚洲美女精品一区| 日韩亚洲97| 91欧美美女日韩国产婷婷| 精品女人999| 人妻精品视频一区二区| 在线观看AV片| 亚洲精品尤物yw在线影院| 中文字幕丰满人妻日本| 久久久性爱| 日韩一级二级三级免费看完整版国语版| 操人妻丝袜高跟| 熟妇在线视频一区二区| 九九久久99| 日韩性爱视频免费在线| 家庭乱伦网站国产| 亚洲熟女性高潮久久久| 国产美女口爆吞精视频| 亚欧高清| 亚91网| 国产亚洲精品美女| 国产麻豆一级精品视频| 精品福利| 日日日日做夜夜夜夜做无码97| 欧美.亚洲.另类.丝袜.制服.诱惑| 人妻一二三区| 美女91在线| 国产白丝在线| 伊人五月天| 97超碰超碰| 啊啊啊好爽快点啊啊啊嗯嗯| 90后后入| 爱爱60秒免费视频| 日韩av乱伦| 色婷婷五月天| 乱伦3P视频| 天天视频综合在线观看视频| 午夜激情成人在线观看| 翔田千里无码中出中文字幕| 婷婷色色五月天福利| 久久精品国产亚洲AV清纯| 情侣操 逼视频99| 9色在线| 日本人妻丰满熟妇久久久久久| 欧美日韩97在线| 精品国产一区探花在线观看| 亚洲综合情色| 青青草久久| 久久久91福利姬| 国产97在线播放| 天天影视综合色| 97人人爱人人乐| 欧美97在线欧| www.av家庭乱伦| 欧美18老人禁| 在线观看高清AV| 精品偷拍13p欧美dodk视频| 操逼操逼逼操操逼91| 手机看片1025| 花野真衣| 今日头条成人一区二区三区四虎精品| 偷拍欧美综合| 蜜臀AV成人精品蜜臀| 日本一久是| 91碰碰| 久久免费9| 1000部熟女视频在线观看| 黄片免费日韩| 丝袜剧情| 久久激情视频| 啊啊啊好湿久久| 欧美午夜视频| 日本免费二区三区| 91青青草| 欲色影视综合吧| 亚洲激情 欧美色图| 国产精品久久发布| 久久久久久国产精品| 五月丁香| 久久一二三四五六七八九区区区| 岛国大片在线观看网站入口| 丝袜亚洲综合| 日韩人妻一二三区视频| 国产亲戚伦亲在线| 天天看天天综合成人网| 91成人国产综合久久精品蜜月| 国产吹潮女在线观看| 一起草视频在线| 日本色色视频网站| 大香蕉520| 综合久欧洲| 国产黑白丝在线| 蜜臀网 一区| 中文字幕人成乱码熟女香港| 日韩Va亚洲va欧美Ⅴa久久| 丁香五月色情| 色九九九综合| 风骚少妇视频中文字幕| 啊啊啊好多水| 日韩操p| 2021久久国产综合精品青草| 久久国产精品一级二级三级| 亚洲中文字幕av| 99自拍视频在线观看| 国产成人无码久久精品| 91九色丨国产丨爆乳| 人妻少妇无码| www.亚洲黄色| 日韩精品国产一区二区| 日韩人妻大香蕉| 欧美色图人妻| 超碰免费97| 亚洲偷拍自拍在线视频| 美女刺激久久国产欧美| 国产乱人妻精品入口| 久久久久久裸体| 伊人热综合| 免费观看啪视频| 91成人在线| 清纯唯美亚洲综合| 狠狠综合网| 亚洲熟女乱熟乱熟妇综合网二区| 狠狠97| 三级日本一区二区三区| 精品人妻美妇91job| 啪啪AV导航| 精品在线观看视频在线| 精品国产网站| 性爱视频免费网址| 91美腿丝袜在线观看| 熟女欧美日韩综合婷婷| 成人无码欧美一级A片狼牙直播| 加勒比综合| 免费视频a级毛片免费视频| AV一二区| 天堂av最新电影网| 亚洲女毛多水多21P| 亚洲国产一区二区三区在线| 日韩欧美~中文字| 少妇一级婬片免费放一级a性色.| 青春草A| 小说区 图片区色 综合区| 国产在线强奸视频| 国内精品a| 激情综合97| 久操免费视频| 岛国精品视频在线观看 | 亚洲色图大香| 超碰在线日韩一区| 92性色国产午夜福利在线661| 嗯嗯啊操我| 有码专区最新中文字幕有码| 国产激情av女片自拍| 99黄页网站| 日日操免费视频| 欧美中文字幕男人天堂久久精品 | 五月丁香色情| 色综合超碰超| 久久人人舔人人爽舔人人av片| 麻豆国产第一| 欧美色网| 天天欧美色| 东北女人操逼| 成人AV素股で擦久久| www国产精品| 99亚洲精品| 91宗合网| 六月丁香婷| 欧色网址| 久久人妻精品| 这里只有精品97| www99热| 国产一二三在线视频五十路| 婷婷五月天成人网| 色原狠狠天天天| 91一起操| 亚洲性高潮| 亚洲黑丝在线| 97免费在线观看| 91精品电影18| 精品在线蜜臀| 色婷婷综合久久中文字幕雪峰 | 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 高清不卡 中文 人妻| 影音先锋视频在线| 久久亚洲人妻| 成人三一级一片aaa| 久久国产精品,久久国产| 懂色aV一区二区天美传媒| 国产不卡片| 91看黄片| 亚洲精品久久一区二区三区蜜桃臀| 久久亚洲精品成人av| 91操熟女视频 | 97色婷婷| 国产高清亚洲日韩一区| 亚洲综合影片| 岛国片国产成人亚洲播放| 精品人妻伦一区二区三区久久| 久久艹逼视频| 超碰欧美| 日本东京热大香蕉a片| 欧美性爱一级操| 天堂网亚洲区手机版| 狠狠中文字幕| 国产一区自拍欧美日韩| 男人网站婷婷| 免费人成?大片在线播放| 999热这里只有精品| 超碰日本97美女人妻人人玩人人爱| 91成人无码| 麻豆影音天美视频| 欧美一级黄色18片免费看| 舔人妻中文免费视频| 欧美成人9797| 国产中文字幕在线点播| Julia Annxxxxx| 人人操AV| 岛国1区2区3区在线观看| 呦女网站| 欧美另类色图片| 日本日逼高清| 欧美最婬乱婬爆婬牲视频| 亚洲 欧美 中文 日韩超碰| 台湾佬大香蕉| 九九成人精品| 久久这里只精品99re66图| 青娱乐休闲视频在线观看| 和协影院中文字幕三区| 久99| 国产v片在线免费观看| 俺也射| 久久25| 国产版a级片直播在线| 国产精品com| 国产天天看| 婷婷久久综合| 亚洲囯产精品女人久久久| 日曰骚久久精品| 久久97资源 网| 91久久久久久| 亚洲国产精品9999在线观看| 清纯唯美综合| www.91欧美| 一区二区三区精品视频| 无码人妻一区二区三区色欲aⅴ| 熟女久久久| 亚洲天堂第一页| 色情综合网| 污污汅18禁网站在线永久免费观看 | 91亚洲网| 国产热av| 9超碰免费| 婷婷久久综合| 国产精品原创巨作?v网站| 好爽免费视频,| 久久久久久大| 亚洲乱码国产乱码精网站| 国产成人在线观看网址| 亚洲网污污污污| 九九热精品在线| 高清在线偷拍自拍视频| 国产亚洲精品农村妇女| 国产精品另类| 丝袜美腿射精91| 久久9 9 9精品| 激情五月天综合网| 國產尤物AV尤物在線觀看 | 欧美色偷拍| 曰韩av中文字幕专区| 国产精品盗摄 偷窥盗摄| 91 丝袜在线播放| 亚洲风情综合网| 加勒比日本在线| 人人妻人人操人人乐| 人人操人人干xxx| 人人妻人人玩人人澡人人爽| nuu12国产麻豆精品| 午夜福利在线视频1000| 久久婷五月| 无码视频黄色网战| 亚洲天堂五月天国产| 九色黄站| 日韩欧美天堂| 美女黑人91神马| 天天享受天天看| 91美腿丝袜在线观看| 熟妇在线视频一区二区| www色色com| 久久精品色欧美aⅴ一区二区| 91快色色色色色| 素人一区二区三区日韩| 国产强奸AV在线| 欧美成人性活片| 久久久久久久9999| 97这里有精品| 青青青草原| 人人九九精| 欧美亚洲高清不卡| 夜草欧美| 国内黄色精品| 国产九九久久久精品| 伊人网综合在线视频| 亚洲天堂中文字| 超碰在线欧美性爱激情| 熟女激情综合网| 天天干天天操天天操夜夜操天天操| 久久久四区| 啊啊啊啊啊啊在线| 久久超碰网| 国产熟妇 码视频户外直播| 黄页av| 亚洲高清综合网| 天天噜| 中文字幕三四五区| 一二三区精品视频| 国产精品网址| 日韩成年人性爱视频| 欧美欧美啪啪视频| 国产91会所女技师在线观看| 久久欲| 欧美性爱第一区| 84YTCOM性无码| 一道α片欧美| 在线一道啪| 男女激烈网站最新| a片 xxxx受爽视频| 丝袜 中出 制服 人妻 美腿 中文字幕| 男人的天堂99| 色噜噜狠狠色综无码久久合欧美| 中文久久久| 人人人干干人人干| 亚洲在线欧美| 26uuu久久| 亚洲AV成人无码一二三久久| 日韩在线一区二区| 丰满人妻一区二区三区性色| 日本欧美一区二区三区视频麻豆| 大香蕉久| 五月丁香| 九九玖玖精品| 综合久久99亚洲人妻中文在线| 99亚洲人人| 天天综合,91入口| 玖玖综合网| 国产精品电影大全| 伊人网免费视频| www.av在线视频| 欧美一区二区亚洲天堂| 日韩熟妇二区| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 最新啪啪视频| 九九热精品视频在线观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 日韩一区二区高清在线观看的| 不卡av在线中文字幕| 懂色AV蜜臀无码精品APP| 五月天婷婷欧美三区| 欧美五区| 色哟哟av| 男人的午夜天堂| 99老司机精品视频在线观看| 91精品无码人妻系列| 男人天堂一区二区| 日日夜夜国产综合| 亚洲春色欧美| 亚洲人天堂| www.99中文字幕| 插欧洲美女欧美精品| 天天操天天射青青草| 色综合20p| 9久热这里只有精品| 国产亚洲精品无码三区| 激情四射五月天| 日日天天久久啊啊aaa| 亚洲不卡一| 思思热在线视频免费| www网站黄| 亚洲男人的天堂一区二区| 日韩人妻丝袜美腿中文| 麻豆精品一区二区三区四区免费观看| 亚洲国产精品有声| 婷婷五月天av| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 久久超碰亚洲人| 久久久999国产| 亚洲色图尤物视频| 亚洲色图激情小说| 肉丝无码中文高清| 襙一襙| 五月丁香六月婷综合成人综合| 久久久一级| 97久久国产亚洲精品超碰热| 超碰成人人人爽人人爽| 成人性爱全视频观看| 亚洲色图加勒比| 黄站在线免费观看| 五十路六十路七十路熟婆| 中文字幕黑人大片| 青青草国产一区二区三区| 日韩操啪| 五月天婷婷综合网| 69丨亚洲丨精品丨入口免费播放| 国产综合色精品在线观看| 色臀AV| 啊啊啊好大好深| AV和黑人在线播放| 午夜精品久久久久久久男人的天堂| 久久视频少妇美女| 精品无码久久久久久久杏吧| 欧美亚洲色图另类国产| 91视频观看网站| 97少妇人妻中文字幕久久| 日韩熟女操逼| 精品91摸| 超碰在线综合97| 黄页视频网站野外| 99re9这里只有精品| 97在线视频免费看| 国产极品一区二区三区三州| 精品176精品2| 97综合久久| 深田咏美亚洲精品福利社 | 婷婷人妻激情| 精品国产www久久| 刺激性视频黄页| 亚洲天天更新| 久久精品国产免费观看99| 蜜臀AV成人精品蜜臀| 精品国产Av无码久久久亚洲| 精品国产一级久久| 第45页一区二区| 少妇久久久久久| 综合色啪| 不卡六六在线91| 太久视频| 97伪v| 精品三级在线专区| 91久热这里只有精品| 超碰色图| 欧美精品99久久久| 国产美女91| 免费操逼视频下载| 吊色| 欧美色视频在线| 日本蜜桃| 亚洲精品官网在线观看| 亚洲综合小视频小说在线观看 | 熟女六十路| 亚洲情色电影网| 97伊人| 嗯啊不要在线观看嗯啊| 亚洲美女高潮喷水视频| 久久美女福利是上海美女| 91劲爆| 美女操逼福利视频| 97免费视频网| 91肉丝| 67194无码不卡| 2025年A片视频精品| 美女97超碰| 欧美A片中文字幕| 热热热热日日漂亮永久永久国产日| 麻豆精品.欧美精品.日韩精品.| 国产又色又爽又舒服的三级视频| 可乐操亚洲蜜911| 熟女精品一区二区三区| 成人资源中文字幕在线观看| 色欲日韩欧美在线一区| 亚洲日韩狠狠撸视频| 亚洲最大的综合性av| 欧美淫乱视频| 五月激情在线| 中日韓欧美高清| 99999久久久久9国产精品| 26uuu久久| 夜草欧美| 国产一区二区a毛片| 91艹| 可以免费观看的AV|