日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
婷婷九月丁香| 日韩pv中文| 久久性爱网站| 九九九只有精品| 久久9视频| 天天影视色香色欲| 丝袜高跟澳门91视频| 久久老熟女| 无码 黑人一区二区三区| 人人 操人人 操人人| 曰韩精品九九无码| 国产性久久久| 久久青青草原免费视频| 丝袜狠狠草尤物 91| 欧美v亚洲v日韩v最新在线二区| 中文子幕一二三| 中文字幕久热视频在线| 五月天综合网| 久久五月婷| 国产夜夜操| 91操熟女视频 | 精品久久久久黄少妇| 91九九九吃| 国产在线视视频有精品| 老女人综合网| 伊人96在线| 久久久久国产无av| 欧美激情专区| 操逼999| 亚洲成人美女无吗| 国产白丝av| 97频视在线| 看日韩操逼| 久久久免费视频18| 亚熟在线| 97AV爱| 日韩免费看在线黄色片| 久久久啊啊啊| 天天天天天超碰| 黑人黄片在线免费观看| 亚洲欧洲自拍图片专区满春格| 色诱avtt| 久久久五月天| 日韩精品碰碰| 人人搞人人插人人操| 国产青一二三| 91|九色|国产熟女| 久久亚州精品成人Av无| 天天射天天色成人| 国产乱青青草久久| 中文字幕88av在线| 国产AV超爽| 中国操逼无码| 超碰97男女| AV一二区| 日本一级一级一级一级| 午夜理论片在线观看免费| 91人人| 亚洲色棕合| www五月| 在线观看AV片| 97在线精品观看视频| 亚洲天堂少妇| 天天色怡春院| 97久久精品亚洲中六字幕| 亚洲精品成人激情在线| 国产性爱在线视频一区二区| 青青草福利视频| 综合性视频99| 九九九九九九免费视频| 香蕉免费一区二区三区不读 | 日韩图色| 亚欧美综合网| 亚洲同性aV综合| 噜噜噜亚洲精品| 操逼999| 伊人网在线视频| 亚州乱码中文字幕综合久久久| 婷婷久久久| 黄色片大香蕉| 久久久免费一级黄片| 国产v片在线免费观看| 国产亚洲99久久精品熟| 老子午夜伦不卡影院| 一起草视频在线| 欧美78P| 激情婷婷丁香网| 亚州中文字幕超碰97| 国产精品 亚洲情色| 高清不卡国产| 97久久超碰国产网站| 蜜臀在线免费观看在线免费观看| 亚洲伊人久久精品影院| 四虎免费视频| 女同性恋中文字幕| 激情婷婷丁香网| 色哟哟av| 男人天堂网站| 91看黄片| 25国产精品免费观看| 亚洲欧美中文日韩视频中国语| 日韩国产乱子伦App| 自拍偷拍 高清无码| 另类 日韩 熟女| 乱伦系列一区二区| 免费操逼视频下载| www.色操逼| 日本性爱少妇| 七久久久| 美日韩在线不卡人妻| 日产123区精品免费观看| 少妇极品熟妇人妻无码| 超碰在线在公开超碰在线在公开| www.色吧5.com| 国产辣妈在线视频福利| 福利伊人玖玖国产| 97超级久久强资源| 97 视频在线| 欧美日韩青操| 伊人影院日本| 91精品国产麻豆国产自产在| 亚洲国产精品乱码在线观看| 中文字幕诱惑制服人妻丝袜美丝袜美 | 97玖玖人妻| 亚洲宗合电影| 九九九九亚洲| 少妇高潮流水av免费| 国产尤物AV尤物在线观看不卡| 在线无码操| 91色婷婷综合久久中文字幕二区| 999狠狠综合| 大香蕉男人的天堂| 97鸡把在线视频| 91P0RNY大屁股人妻| 欧美十八禁导航成人| 丁香六月婷| 五十路熟女工口 | 国产在线激情视频| 五月激情综合网| 九一精品牛牛一区二区| 亚洲欧美97| 欧美成人四级在线播放| 国产青一二三| 日韩内| 中日韩欧美精品无码AⅤ一区二区| 伊人久久婷婷| 久久精品99久久久久久| 2021国产成人精品久久| 亚洲情色第一页| 夜夜操夜夜高潮夜夜爽国产精品区| 男女啪啪网站免费视频| 99热9| 亚洲欧洲第二视频在线观看色图| 国产强奸乱伦第1页| 国产呦精品一区二区三区下载| 无码99| 亚洲黄色电影| 天天色播| 中文熟女五十乱码在线| 久久久久久日韩| 国内91熟女人妻丝袜天天精品视频在线 | 中字乱伦AV| 校园春色宗合网| 以及麻豆国产入口在线观看免费| 91久久精品国产| 日本精品加勒比海一区| 欧美顶级黄色大片免费| 色哟哟av网址| 午夜色婷婷| 国产精品69久久久久久久| 人妻中文字幕精品无码| 欧美另类自拍 | 99超级碰免费视频| 九九九九九九九九九国产精品| 欧美性爱视频免费一区一A | 超碰人人色| 日韩干B| 国产精品自产拍在线观看社区| 综合久久99亚洲人妻中文在线| 亚洲乱色熟女一区| 亚洲人妻色图| 亚洲城人男人的天堂| 女人综合网| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | a网站免费观看| 久超碰这里只有精品| a级理论午夜日本| 中日韩久久久免费看| 久久久网站| 欧美亚洲天堂| 中精品一区二区三区| 国产中文字幕曰本毛片| 亚洲黄色AV电影| 五月婷婷深深爱| 久久天堂| 熟女91网| 性色高清在线| 亚洲性爱无码乱伦av| 99视频自拍区| av婷婷色网| 亚洲囯产精品女人久久久| 97久久精品不卡| 天天看片天天爽| 亚洲图片日本AⅤ欧美在线| 98福利在线视频| 激情综合久久| 欧美人人曰人人操人人射射| 热热色青青草| 亚洲国产一区二区三区在线| 色官网色综合| 色香天天| 一区二区三区蜜桃成人撸久久东京热| 大香蕉免费乱伦视频| 啊啊啊免费| 亚洲熟女乱综合一区二区三区| 午夜黄色免费在线观看| 屁股久久久久久久| 欧美91久久久久| 色婷婷亚洲婷婷| 国产对白刺激视频| 天天日天天看| 日韩精品大香蕉伊人在线| 中文字幕黄色片| 国产精品盗摄 偷窥盗摄| 91痴汉| 97超久碰| 色99色| 国产人妖视频一区在线观看| 大香蕉78| 亚洲男人天堂网站| 伊人aaa| 91老司机在线视频免费观看| 色999;丁香五月| 天堂69亚洲精品中文字| 97免费视频在线| 春色综合免费| 精品久久久不卡一区二区| 久久婷婷五月天| 欧美aa一级片| ,成人免费啪啪视频| 欧美日韩资源| 操熟女91| 青青草导航在线视频| 少妇同性| 啊啊啊好湿久久| 国产按摩一区二区三区| 日韩999| 操B在线观看| 蜜臀AV秘一区翔田千里| 一二三区操逼国产91| 超碰久超碰久| 国产精品视屏| 凹凸精品熟女在线观看| 国产高清视频无码在线| 免费人成在线观看网站品爱网| 大学生美女口爆| 久久精品熟妇丰满人妻99| 国产夫妻性生活视频| 亚av顶级裸体一区二区三区四区五区 | 欧美性爱五月天| 久久老子无码午夜伦不卡| 欧美操逼熟女| 欧美人妻一区| A 天堂在线观看视频| 黑人无码一区二区| 99热啪啪| 成人情色一区二区| 色性荡荡荡荡视频| 综合网欧| 亚州熟妇精品| 少妇熟女视频一区二区三区| 国产馆| 久热伊人| 亚洲天堂男| 久久久9999| 富女玩鸭子一级毛片| A 天堂| 91亚洲色人| 99国产精品视频尤物| 欧美成人A天堂片在线观看| 岛国AB视频| 粉嫩在线一区二区懂色| 一区中文字幕二区日韩| 极品一区二区三区免费| 啊啊啊啊啊啊在线观看| 成 人片 黄色大片| 激情丁香五月婷婷| 美腿色图| 大香蕉日亚洲日本亚大| 亚洲丝袜诱惑| 国产极品一区二区三区三州| 久久国产99精品72福利| 国产精品粉嫩福利在线| 91老司机视频| 久久国内| 十八禁黄色成人网站观看| nuu12国产麻豆精品| 人妻少妇久久中文字幕一区二区 麻豆 | 亚洲天堂中文字| 亚洲天堂99| 91国产丝袜足交精品视频| 久久同城AV| 久久久久99999| 强奸乱伦亚洲第一页| 97色色视频| 久久久av爱| 欧美高清色| 一本一道vs波多野结衣| 欧美在线伊人色| 玖玖爱视频网站| 乱伦一区二区三区‘| 国产丝袜视频| 热热色AV| 国产操偷| 伊人国产视频| 亚洲国产精品无码AV久久| 97国产高清视频在线观看| 亚洲AV高潮| 欧美人妻少妇| 噜噜噜无码AV一级一级久久影院| 1二区9| 97超碰久久| 日韩AV熟女乱伦| 丰满搜索结果 -第18页- 久久高清无码| 暴力av在线| 户外裸露刺激视频第一区| 麻豆久久久久久久久丝袜 | 久艹99| 成人免费看吃奶视频网站| 五月花婷婷| 久久九九热| 黄色AAAAAAAAAAA大片| 精品一区二区三区四区女| 91伊人| 亚洲色图久久成人| 草草电影院| 国产原创自拍| 中文字幕乱码在线| 欧美精品四区| 百度百度日本操逼| 欧美成人色| 欧美五十路熟| 久久久久人| 福利视频一区二区微拍| 人人操超碰在线| 久久草在线综合视频| 大香蕉日韩欧美| 亚洲熟妇乱女区二区三区| 97这里有精品| 69精品在线| 午夜性生活av免费在线看| 亚洲色图久久成人| 人人么人人操| 97超久碰| 3d成人精品一区二区| 欧美精品三区| 国产精品亚洲一区二区三区四区| 96一区二区| oumeisetu综合| 中字幕人妻一区二区三区| 好吊色一区| 中文字幕一区二区三区高清| 91N综合网在线| 中文字幕午夜精品久久久| 人人操人人插人人摸人人干| 超碰在线日韩一区| 精品国产乱码久久久久久口爆网站 | 中文字幕亚洲在线一区| 香蕉在线一区二区三区| 美女被啪到深处抽搐视频| 麻豆区99999| 国产毛片片精品天天看视频| 9Ⅰ老熟女| 狠操91,com| 亚洲 欧美 手机在线观看| 日本三级精品| 亚洲五区熟女| 亚洲国产无码精品首页久久久| 国产91美女视频| 成人AV素股で擦久久| 少妇人妻太紧太深av| 嗯嗯,好大,好爽,好骚| 日本操大逼| a啊啊啊啊啊啊啊啊一区二区| 久热无码| 尤物av网站免费在线播放| 国产精品 午夜福利| 欧美性爱中文字幕无线码| av草草在线电影| 日本美女性生活久久久久久久| 少妇无码av专区线| 欧美色图第一页| 亚射在线| 老女人日韩美91| 国产无码一二三区| 十八禁视频一区二区| 美女网站黄页| 密臀AV在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲欧美综合| 亚洲无码日韩电影| 人妻内射一区二区在线视频| 东京日日夜夜| 人妻99p| 人人性爱视频免费| 日韩内| 日韩精品大香蕉伊人在线| 免费观看欧美日韩操逼视频| 岛国黄色短视频| 欧美人人操人人插| 天美精品原创av片国产| 黑丝制服中文字幕| 骚逼自拍99| 少妇高潮喷水无套久久久久久| 一区,二区,三区网站| 99操| 亚洲人妻AV| 欧美日韩亚洲一区二区在线观看| 肏逼视频日本| 新亚洲无码| 中文久久久| 欧美综合天堂| 9久久久久久| 97操综合| 欧美最婬乱婬爆婬牲视频| 久色99999| 日本999精品| 中文字日本乱码| 老女人日韩美91| 长长久久免费视频| 美女黄色一级A视频| 强奸a片网| 国产AV超爽| 每日更新AV| 岛国视频免费在线观看| 久久‘黄片视频| 成人免费福利在线观看| 无码抄逼网| 人人射人人操人人摸| 日韩精品永久在线观看| 性爱乱伦网址| 狠狠色综合网| 天堂九九九九九九九九九| 少妇一线天久久久久久| 久久黄黄| 红桃视频高潮| 内射中国少妇高清视频免费视频| 亚洲精品久久一区二区三区蜜桃臀| 九一精品牛牛一区二区| 亚洲黄a三级三级三级看三级| 亚洲性少妇| 欧美综合色综合| 欧美激情精品久久久久久| 一区二区三区麻豆| 97在线观看| 久久丁香久草综合网| 国产高清免费不卡av| 欧美性爱视频免费一区一A| 婷婷五月天久久久| 亚洲国产一区二区三区在线| www.91欧美| 精吧天堂| 欧美精品宗合| 永久免费发布性爱网| 天天看,天天做| 欧美躁死她一区二区| 狼人综合婷婷激情四射 | 大香蕉一区二区在线观看.| 两性色网| 麻豆 欧美 日韩| 欧美97视频| 欧洲色综合| 国内亚洲高清无码| 黄片在线免费在线观看| 超碰国产情侣自拍网| 亚州九九九精品视频| 久久婷婷成人综合色怡春院| 欧美探花网| 婷婷五月综合在线| 亚洲色91C| 97久久超碰亚洲| 少妇一区二区三区精选| 99热精品在线观看| 天天超级碰碰碰| 精品视频在线观看| 玖玖婷婷五月天| 91 亚洲情侣偷拍 久久| 亚洲精品国语在线播放| 天天色综合图片| 九九九草| 首页中文字幕中文字幕免费| 欧美 青青草| 久久一区二区蜜桃| 18禁超污无遮挡无码免费网| 老鸭窝黄色视频网站| 天天干嫩逼网| 午夜大香蕉| 91伊人久久在线| 岛国黄片网站| 免费看污网站| 大色综合| 99热这里只有精| 久久久不卡| 日本片日本片祼观看网站在线看中文版网页在线看 | 热久久91婷婷| 91性感在线| 色九九综合| 人澡逼| 岛国片国产成人亚洲播放| 日韩人妻网站| 超碰国产精品无码| 99re95| 黄色AV免费| 日韩熟女精品无码专区一区二区 | 人人考人人摸人人干| 亚洲天天影视色综合| 98人妻精品一区二区色欲| 天天日日舔舔| 日韩免费簧片| 97伪v| 天天搞在线综合网| 国产丸一视频| 中文字幕 国产区| 精品二区久久| 五月天社区| 一区二区影视| 第二页中文字幕| 黑人精品一区二区在线播放| 青青草乱入乱欲视频在线观看| 色黄污美女啪啪啪免费网站| 97精品在线| 超碰在线成人| 蜜臀久久99精品久久久久久无删减| 另类图片五月| 熟妇的味道HD中文字幕| 男女香蕉一区二区| 六月丁香网| 人人操人人色网| 色情亚洲日本成人| 欧美黑人精品一区二区| 亚洲高清综合网| 亚洲码和欧洲精品激情系列| 少妇xx精品| av橘色网站| 青娱乐亚洲热| 啪啪啪精品视频| 九九九九AV| 婷婷另类小说| 亚洲图片偷拍视频区| 欧美综合91| 一区二区不卡| 五月天婷婷激情| 国产极品粉嫩馒头一线天av| 欧美色道啊| 殴美,日韩国产伦精品| 国内偷自视频区视频综合| 亚洲女人毛茸茸91| 999久久久久久久精| 日韩欧美一级特黄大片| 偷拍 亚洲 欧美| 激情四射熟女丝袜| 久久熟女人| 久久亚洲AV成人精品无码| 99热销国产这里有精品| 亚洲日产专区婷婷| 区日韩亚洲乱码av电影| 国产一区二区啪啪视频| 高清国产成人无码| 在线亚洲欧美| 中文有码9| 精品9区| 99精品丰满人妻无| 91狠狠综合久久久| 久久精品中文字幕无码l| 大香蕉伊人网| 女优大全 - 91n| 久久久精品久久| 97超碰逼| 日本免费不卡二区| 久久99综合| 亚洲高清无码在线桃色| 蜜乳视频网站| 国产无码精品久久久久久| 超碰偷拍| 9ⅰ久久久天天| 久久AV无码1区2区3区| 亚洲 欧美都市激情| 九月丁香| 久久激情网| 久久精品店| 日韩国产成人自拍视频| 免费公开人人操| 国产午夜精品理论片一二三区区| 午夜精品久久久久久久久久久久久 | 激情小说图片亚洲首页| 国产激情视频一区区三区| 欧美色图99| 日韩人人精品| 色婷婷一区二区三区久久午夜成人不| 欧美性天天影院| julia中文字幕在线观看| 亚洲情色图片区| 麻豆黄四叶草网站| 亚洲综合在线高清| 宗合情欲网| 国产久久一区二区三区野外在线| 久热伊人99re| 91 国产丝袜在线放观看| 蜜色网色哟哟| 精品国产一区二区三区久久久蜜臀 | 欧美制服网站美腿丝袜| 天天综合网~69| 久久久草成人网站久久久草成人久久久草久久久 | 欧美Ⅴ性爱| 亚洲欧洲日本精品中文a∨| 国产欧美在线观看免费观看| 最新av中文字幕高清| 国产午夜福利电影免费在线观看 | 日韩国产品视频中文字| 午夜福利久久久噜久噜久久综合 | 综合国产影视三级| 91快色色色色色| 欧美日韩操逼嗦吊| 男人天堂2019亚洲| 欧美无圣光在线| 综合97亚洲| 国产日韩美女小穴视频网站不卡| 亚洲黄色| 国产精品熟女九色九色蜜臀| 国产成人在线观看综合| 97人肏| 亚洲 另类 丝袜 自拍 动漫| 国产超碰97| 亚洲欧美第一页| 色网在线视频观看免费| 五月天婷婷色色| 久久久久久久久久久久久久久乱码| 色偷偷色偷偷欧美日韩| 91痴汉| 影音先锋每日最新资源在线观看 | 蜜臀99久久精品| 欧亚日韩中文在线| 午夜一区二区三区国产| 夜夜一区二区| 2019亚洲男人天堂| 亚洲国产精品成人久久蜜臀| 成人性爱视频在线看| 日日夜夜干| 精品一国2| 久久久久久性爱免费视频| 岛国色情视频在线观看| 亚洲欲色9532548967一区| 日本熟妇精品九九| 欧美精品三级黄片| www.色综合| 嗯嗯啊啊好疼| 东京热一区二区中文字幕| 欧美网站免费| 男人网站婷婷| 国产福利一区二| 91九色精品熟女内射| 欧洲小说色图视频另类| 亚洲一区二区三区春色| 97干在线视频| 日本性一区| 欧美一区二区三区四区综合| 北条麻妃99精品青青久久| 久久精品一区一起草| 国产对白刺激视频| 日本天堂网| 国产精品操| 色狠狠综合| 91美女国产在线| 九九精品无码专区免费| 欧美熟爽综合| 国产AV中文| 久操大香蕉| 久久精品男人的天堂| 日韩精品在线观看观看| 天堂国产AV| 人人看黄色视频| 暖暖精品二区三区观看| 久久久久久九| 91精品综合久久久久久五月丁香| 中文字幕免费看| 国产三级多多影院2022国产AA一级毛片无码| 91女网站| 3PAV乱伦视频| 啊啊啊啊啊在线观看网址| 亚洲在饯| 丰满人妻一区二区三区四| 密臀视频三区免费网站| 大香蕉啪啪啪| 天堂亚洲欧美| 久久久久成人蜜桃精品| 丰满人妻一区二区三区四区| 婷婷丁香成人| 亚洲三级。日韩三级| 丁香五月婷婷色| 粉嫩av一区二区三区天美传媒 | 久久久555| 日韩精品一二三四| 亚洲精品九九九| 亚洲有码 视频一区| 久草午夜| 天天看人人操屄犊摸阴| 日本免费一级AAA大片器| 精品久久大胆人体| 国产精品无码在线| av影院十区| 91 手机在线播放 绯色| 91国产操逼视频| 欧美精品偷拍| 日韩欧美国产高清视频| 九九热av| 一个人在线看的黄色电影网站| 国产精品视频自拍在线| 熟妇国产免费一区| 伊人久久艹| 国产成年女黄特黄| 天天操人人操骚逼网站| 亚洲av乱伦色图网站| 欧美综合第一页| 99天天超碰| 亚洲色图日韩精品| 99热在线播放| 亚洲揄拍网| 秋霞欧美性爰视频| 久久夜夜| 免费99精品国产自在在线| 中文字幕在线观看视频www| 欧美色偷偷| 夜夜免费视频| 色一射色一射| 日人妻视频91| 高清国产精品福利网站| 九一性生活免费视频| 夜夜爽33333| 日本免费中文字幕在线| 男女啊啊啊| 91爱欧美| 粘花网06av视频| 精品人妻美妇91job| 97超碰欧美| 黑人粗大V S日韩女优视频| 97WW精品| 综合色啪| 亚洲阿v天堂无码z2018| 91骚熟女| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产人妻天天干精品| 国产精品午夜AV完会免费| 色综合99999| 天天看片天天爽| 性爱av在线免费观看| 收看日本人日bb| 干少妇视频| 2020天天色综合| 色综和网| 97超碰色屌| 国产精品老熟女一区二区| 国产极品一区二区三区三州| 强奸乱伦AV网址| 97日韩欧美| 一本色道久久综合精品婷婷| 久久 久久国内精品亚洲| 亚洲瓯美色图| 91精品成人www| 99久热| 国产亚州日韩欧美看片| 天天做日日做天天欢。| 成人26uuu| 国产色产精品在线观看| 精品无吗m| 男人的天堂VA| 密臀成人视频久久久| 亚洲综合图片在线| 老鸭窝黄色视频网站| 日本少妇va7777| 无码91| 小草精彩毛片| 亚洲人精| 久久久蜜桃一区二区三区| 视频分类 国内精品| 日韩不卡a级视频专区| 在线看片国产精品每日更新| 熟女精品va中文字幕| 国产久久av| 天天视频黄网站| 亚洲天堂无码| 精品性爱无码在线播放| 色婷婷香蕉| 9 9精品一区二区三区| 天天天天操| 五月丁香综合| 国产视频三区四区| 蜜臀人妻少妇久久在线观看| 爱爱动态试试看6 0秒| 九九九九九九成人| 亚洲97p| 十八禁电影伊人网| 欧美综合狠| 亚洲人久久久久日| 嗯嗯啊好爽| 亚洲在线网站| 岛国网址国产| 精品国产久热在线观看| 国产超碰在线| 精品91摸| av72网| 欧美丝袜亚洲| 夫妻天天操岛国视频| 天天夜躁日日躁狠狠2002| 免费观看国产小粉嫩喷水精品午| 秋霞无码av鲁丝片一区| 亚洲成人久久美女| 亚洲天堂色图| 久久99草| 熟女熟妇一区二区三四区| 九九九色| 欧美色性爱| 国产 码在线成人网站| 蜜臀精品1区2区| 97超碰人操| 搡老女人老91二区| 九月激情婷婷| 狠狠干婷婷| 亚洲美欧999| 超碰4A| 久久成人国产精品| 三级片网站在线播放| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲天堂AV在线播放| 99热色精品| 夜夜狠狠躁日日躁色视频| 97欧美色| 欧美传媒| 99色在线| 丰满丝袜少妇AV| 久久国产成人精品国产成人亚洲| 人妻人人做人人澡人人爽欧美一区| 日本三级韩国三级99| 超碰综合色| 清纯唯美亚洲综合| 色官网色综合| 美女黄页| 欧美人妖内射| 99精品欧美一区二区三区桃色| 麻豆区99999| 91强热人妻| 大JI巴好深好爽又大又粗视频| 很黄很色的视频在线观看| 92福利社视频| 豆1无夜无码| 青草精品视频-日本久久久久网站| 国产日产精品久久快鸭的功能介绍| 99综合网| 99re在线视频这里只有精品| 日韩av免费一级电影| 爱爱60秒免费视频| 中出20p| 久久久久亚洲?V片无码V| 国产不卡片| 久久久久久999| 国产一区在线免费播放| 欧洲精品网| 成人午夜高潮av猛片| 九九热超碰| 久啪视频| 再深点灬舒服灬太大了好硬好爽| 亚av顶级裸体一区二区三区四区五区| 亚洲自拍偷拍视频在线| 天天干天天爽| 98超碰欧美| 偷窥自拍亚洲天堂网爆| 亚洲97网站| 凹凸久久人人| 牛牛久久国产精品视频一二三| 中文字幕在线免费观看2| 人妻天堂综合网| 粉嫩av一区二区三区天美传媒 | 久久久中文| 亚洲狠狠入| 色婷网| 激情婷婷黑人91| 国产精品久久伊人| 九九久精品| 亚洲欧洲精品视频发布| 1024手机看片欧美日韩| 天天色黄色影院天天操| 青青草国产盗摄一二三区| 51久久夜色精品国产麻豆| 欧美一区二区在线资源| 波多野42部激情无码喷潮| 午夜天堂精品久久| 91久久九九精品国产综合| 真实高潮91| 国产不良强奸视频免费看| 欧美日韩少妇色情| 天天摸夜夜添无码小视频| 9久久美女首页| 中文字幕91页| 97免费视频在线观看视频| 免费观看的黄色的网站| 老鸭窝成人| 狠狠久久亚洲欧美专区| 国产精品视频在线观看| 久久大香蕉手机高清视频| 欧美日本成人一区二区| 乱老熟女一区二区三区| 久久精品国产96精品亚洲拳交| 亚洲春色欧美| 久久婷婷一区二| 中文字幕日韩专区精品系列| 中文字幕精品久久久久人妻红杏ⅰ| 天天日B夜夜干B时时操B| 日韩欧美麻豆| 日韩精彩免费| 黄色性爱网网| 爱爱啊啊啊| 亚洲自拍欧美国产首页网曝| 国产 v乱码一区二| 综合网天天| 一区二区视频你懂的| JULIA一区二区三区在线播放| 97超碰超| 日韩三级在线观看mp4| 福利操逼| 婷婷人妻激情| 97视频在| 色婷婷影视| 黄片qw| 久久精品国产亚洲粉嫩| 九色 人妻 大香蕉| 狠狠色噜噜狠狠狠狠狠色综合久久 | 精品高清一区二区三区三州| 97伊人超碰| 99re6国产精品99re在线| 一区二区三区免费岛国片| 亚洲午夜精品久久久中文影院| 欧美超碰96| 六月色婷婷| 亚洲激情综合另类男同| 丝袜足交视频| 97一区二区三区视频| 激情综合97| 操逼网免费无码视频| 大香蕉一级黄色片久久| 亚洲,欧美,综合网| 九九九九九九亚洲| 亚洲伊人a线观看视频| 青青草依人大香蕉| 狠操91,com| 超碰97玖玖爱| 99在线精品视频| 色综合网1| 国产精品一区二区亚洲人成毛片| 78超碰| 午夜福利 成人 91| 啊啊啊好大好湿| 91在线免费观看处女| 国产成人无码网站在线视频| 黄色激情电影在线观看| 欧美第一页| 揉揉揉夜夜| 自拍第一页| 婷婷五月天无码 | 日韩97视频| 欧美情色贴图| 亚洲s在线观看| 欧亚综合一卡二卡中文字幕| 色五月综合网| 黄色网址在线免费观看| 天堂俺去俺来也www久久婷婷| 大香蕉99999| 超碰97玖玖爱| 人人色97| 日本日逼高清| 天天激情干| 国产网红精品| 黄片视频,下载| 精品毛片av一区二区| 97资源视频| 一级人妻性爱视频| 一区二区三区免费视频入口| 2024黄色视频| 男女无套 免费网站| 日产操逼| 大香蕉欧美| 日韩性爱小视频| 色哟哟AⅤ| www.99色| 在线a v| 亚洲女毛多水多21P| 思思热在线cao| 国产综合永久精品日韩鬼片| 美女操逼A A| 日本性感人妻91| 无码免费在线观看黄色片| 亚欧毛片基地国产毛片基地| 亚洲色图尤物视频| 久操网线| 人人爱人人操人人性| 国产67194| 黄色AV影视| 91色情黑丝搞鸡在线观看一区二区三区三州| 日日干日日| 久操热线| 欧美日韩m| 91黑丝美女| 久久99手机免费视频| 99re在线视频国产| 91在线观看,天天综合| 91白嫩| 操B视频日韩无码| 青草青草久热| 成片免费观看视频大全| 67914在线精品观看| 亚洲熟久久| 五月天AV资源| 日韩肏逼视频| 日本一区二区不卡精品| 手机看片1024你懂的国产| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 久草看看看| 999精品久久久久久久| 国产亚洲精品久久久久小| 国产一区二区欧美日本| 五月天婷婷基地| 综合激情97| 欧美亚洲清纯| 97在线免费| 免费在线观看国内色片网站网址| gogogo免费高清看中国国语| 国产18精品亚洲精品| 无码91| 国产性爱欧美性爱在线| 午夜毛片亚洲精品片国产久久久| 日韩精品人妻一| 欧美特大黄一级片片免费| 影音综合网| 国产综合久| 国产成人超碰在线| 五月天成人综合| 99精品久久久久久| 久久在肏| 无码在线亚洲| 国产乱弄免费在线视频。| 人妻少妇久久中文| 精品日韩人妻精品一二三区| 91丨九色丨熟女高潮| 久久夜色一区二区| 精品一区二区三区丰满熟女-亚洲欧美一区 | 333kkkk·亚洲com久久| 婷婷三区| 九九热午夜欧亚国产视频| 日韩激情无码影院| 久久久精品国产亚洲伊人| 日韩资源网| 国产传媒午夜理伦精品| 人妻久久久| 精品人妻一区春色| 国产福利电影| 天天综合亚在线| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 青青草亚洲一区 | 欧美色图综合| 亚州操逼图| 熟妇一区二区三区| 一起草高清无码| 久久人妻视频| 日韩二区三四区五区六区在线看| 天天激情综合站| 综合网~91综合网| 少妇熟女一区二区三区| 在线日韩视频| 欧美高清16| www…国产操逼| 欧美高清在线| 欧美刺激色黄片免费看| 影音先锋一区二区在线资源| 1000部熟女视频在线观看| 青娱乐av在线| 91美女视频在线观看| 婷婷丁香六月天| 少妇三p| 性一交一乱一交A片久久四色| 色婷婷一区二区三区久久午夜成人不| 狠狠中文字幕| 中文字幕88av在线| 日韩性爱视频在线免费观看| 99热aaa| 中文字幕AV乱伦| 中文字幕文字幕无码一区二区三区电影99 | 91快色色色色色| 日日干夜夜欢| 在线观看精品国产免费| 锕锕好爽 死我在线观看| 成人性爱高清视频免费看| 色哟哟AV| 粉嫩绯色AV一区二区在线| 午夜操一视频一区| renqi久久久久久久久久久久| 精品少妇一区二区三区| 色一情一乱一乱一区91Av| 无码78| 久久伊人在线五区| 一区二区三区免费视频入口 | 欧美一区二区| 色五月婷婷麻豆在| 思思久热在线精品66| 91 丝袜在线| 国产久久成人| 青青草五月份天| 深夜国产一区二区三区在线看| 超碰97导航| 精品丰满人妻一区二区三区免费观| 乱欲视频| 亚洲天堂情色| 亚洲欧美中文日韩视频中国语 | 丁香九月激情| 国产精品com| 中文字幕一区二区三四五区日日骚| 97人人操人人摸| 国产精品农村妇女| 精品十三区| 欧美特大黄一级片片免费| 97日韩欧美亚洲| 色诱中文字幕| 无遮挡h肉动漫在线观看| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久久久久久久久久久久欧美日| 欧美国产日韩高清在线| 精品视频在线观看精品| 亚洲怡春院| 夜色五月天| 人妻在线视频| 免费家庭乱伦视频| 欧洲亚洲人人爽爽视频| 亚洲欧洲偷拍一区| 国产欧美岛国精品一区| 蜜臀久久久99久久久久 | 97久久久久久久久久| 天天看高清麻豆| 久9视频| 欧美性生活免费网| 国产精品天堂| 久久久精品国产亚洲伊人| 久干9操| 欧美传媒| 夜夜欢天天干| 加勒比伊人综合| 中文字幕精品人妻丝袜| 91色婷婷综合久久中文字幕二区| 一区二区三区美女超清| 中文字幕色AV| 999 久久久| 欧美专利1区2区3区4区5区免费| 亚洲av综合色区无码一| 强奸乱伦AV一天堂网|