日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
超碰97护士| AV不卡在线| 歐美一級亂黃99在綫精品| 狠狠婷婷亚洲中文综合久久| 亚乱色| 国产久久日韩网站导航| 中文自拍欧美影视| 探花一区在线| 天天cao在线| 91九色网| 国产乱伦亚洲| 激情啪啪视频| 亚洲永久永久永久永久一级一级一级精品 | www.91理论| 在线视频资源| 日本ZZ高免费A级视频| 日韩情色视频| 屌逼麻豆| 久久久一区二区三区四曲免费听 | 116美女午夜| 亚洲激情在线观看一区| 中文字幕国产| 日韩精品熟妇| 日韩av三四区| 一个人在线看的黄色电影网站| 91动漫操逼视频| 亚洲色图尤物视频| 一本色道久久综合精品婷婷| 欧美第二页午夜| 91久久久视| 亚洲情色电影网| 桃花色涩综合影院| 婷婷深爱五月| 国产精品99久久久www| 99热在线播放| 外国91| 青青草原伊人网| 九九九精品色乱九九九| 欧美不卡在线美女| 亚洲1区2区三区高清中文字幕| www男人天堂| 死我十八禁| 99热国产| 91精品国| 国产精品自拍视频| 大奶的诱惑| 天天爱天天操| 精品福利| 久久东京热久久| 天天热精品| 亭亭在线资源| 夜夜躁狠狠躁日日躁av| 国产一区二区三区高清视频| 在线岛| 日韩国产乱子伦App| 亚洲国产精品无石码久久| 啊啊啊好想要| 欧美一级久久久久久久大片动画| 欧美东京热精品A∨| 性做久久久久久久| 高清无码久操视频| av资源在线播放天堂| 欧美中出1| 色五月婷婷久久| 一区二区三区四区免费视频| 99啪啪视频| 国产乱弄免费在线视频。 | 国产精品久久久久久久黄无码| 成年人一级黄色毛片大全在线观看| 国产女人高潮嗷嗷嗷叫小说| 极品尤物自安慰| 无色无码| 亚洲妇色| 欧美性暴力猛交| 91亚洲欧美激情| 91另类| 中国AV美女| 两女互慰AV高潮喷水在线观看| 欧美v日韩v亚洲v最新在线| 色香av| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 伊人97色天使| 亚欧美天堂在线| 国产人妻一区二区三区欧美毛片| 人妻大香蕉| 青青草影视蜜久久| 精品无码一区二区三区色欲| 免费中文在线| 大香蕉免| 欧美姓爱综合网| 欧美色干| 欧美躁死她一区二区| 97欧美精品综合| 男人天堂网手机版婷婷| 女性喷水高潮在线观看| 欧美日韩*字幕一区| 欧美大香蕉久| 狠狠狠狠狠干| 五月天欧美色图| 国产9l 大屁股| 亚洲五码一区二区三区| 亚洲少妇综合在线播放| 久久精品老司| 亚洲熟妇A V黑人| 日韩一级特黄av毛片| 久久久国产成人一区二区三区在线| 3571色综合一区二区二区| 久久一二三四五六七八九区区区| 看黑丝美女操逼青青网站| 久久久久幕乱码| 免费视频在线一区二区不卡| 在线啊啊啊啊| 国产精品操| 国产亚洲99久久精品| 久久爽爽精品| 久久性生大片免费观看性| 人妻在线视频| 啊啊啊啊二区好大| 东京热男人的天堂| 中文字幕亚洲欧美在线不卡| 欧美综合网| 狠狠操夜夜操蜜桃视频三区| 四虎在线视频| 久久一区无码| 伊人久日| 成人情色一区二区| 欧美性爱一区二区| 精品一区二区三区蜜桃臀赵总 | 簧片免费看视频| 亚洲色图 图片| 亚洲成人性爱网站在线播放| 69精品在线| 婷婷性网| 国产精品麻豆成人AV艾秋| 久久9精品网站| 超碰精品日韩欧美国产| 操逼逼福利视频| 色哟哟-国产专区| 欧美97爱| 91九色丨国产丨爆乳| 大香蕉伊人75| 99色婷婷中文字幕乱色| 日韩成人精品视频自拍| 综合久久99亚洲人妻中文在线| 亚洲日韩在线a不卡99精品| 91 丝袜在线| 欧美偷拍区| 久久综合超碰| 一个国产在线综合网站| 国产精品色| 免费AV播放| 伊人九九九| 粉嫩国产精品久久粉嫩| 欧美日韩资源| 亚洲不卡av在线| 一区二区三区四区理论片| 国产大陆天天艹| av资源在线观看少妇| 欧美一区二区成人一卡| 欧美日韩另类在线播放| 亚洲欧洲色情高清| 天天视频综合在线观看视频| 欧洲色综合| 久久性爱免费送| 99超碰网| 日日夜夜骚| 五月婷婷丁香六月丁香| 情色五月天就去干| 日本女厕偷拍| 超碰精品在线| 97亚洲欧美| 大香蕉综合久久| 久久99亚洲精品久久99果| 91色亚洲| 国产精品3| 粉嫩不卡一区二区性爱| 狠狠干妹子| 中文字幕一区二区三区蜜臀| 亚洲日本韩国在线| 岛国免费黄色网址| 97在线观看视频| 2024人人操人人摸| 成人亚欧免费视频| 一卡二卡三卡| 97色诱| 欧美五十路熟| 欧美色999| 亚洲欧美爆| 天天干干天天干干| 老司机深夜18禁污污网站| 欧美性综合| 操婷婷逼| 日韩人妻 中文字幕| 精品一区二区三区蜜桃| 激情小说亚洲图片| 九九热AV| 激情AV| 国产精品嫩草影院免费| 一中国女人毛片水真多| 色欧洲| 国产自偷| 亚洲天天精品| 亚洲素人综合| 久久机热| 九九九成人| 欧美综合97www| 日韩人妻大香蕉| 操逼日韩无码| 亚洲第一在线视频| 国产精品点击进入在线影院| 美日韩男女操屄视频| 九九九九精品九九九九| 久操精品| 久久成人午夜精品影院| 人人操人人大香蕉| 99久久精品无码一区二区| 久肏视频字幕| 久久久女人| 日本国产二线女色| 中文字幕免费看| 97精品97久久| 91丝袜人妻| 97在线播放| 职场同事知名国产国产精品久久欧美日韩 | 超碰98综合网| 超碰97久久国| 精彩久久中文| 九九九九九九九九九国产精品 | 后入日本1234| 亚洲综合有码| 亚州熟女乱伦| 亚洲精品xxx| av无线看| 五月天婷婷久久| 亚洲精品 大香蕉| 青青操青娱乐| 丰满少妇高潮无码| 久久久久久免费电影| 蜜桃网熟妇| 天美传媒麻豆一区二区三区国产精| 日韩无码第3页| 亚洲欧美另类小说| 日韩免费a级毛片无码a∨| 小说区 图片区色 综合区| 人妻丝袜二区| 18禁无码永久免费无限制| 免费福利视频中文字幕| 精品性爱一二三区| 日本不卡三级网在线播放| 插入综合网| 欧美熟女激情| 夜夜操中文字幕| 欧美中字不卡| 91爱看| 九九久久99| 超碰97综合网| 噜噜噜在线视频| 国产精品久久久久久无码红治院| 人妻丝袜肏逼| 国产AV高清AV无码| 91粉嫩萝控精品福利网站_精品影音先锋国 | 91 丝袜在线观看| 性色avv| 大香蕉久| 五月天大香蕉| 婷婷91| 夜夜操青青草| 久久久久久久九九九九九九| 欧美中文字幕一区| 国产一区二区三区,在线观看观看| 欧美日韩少妇色情| 精品人妻一区二区三区不卡断| 欧美日韩国产一区二区小黄片大全| 国产精品无码久久久久2025| 亚洲电影中字一区二区| 岛国视频免费在线观看| 国产人妻精品久久久一区二区三区| 媚薬在线视频麻豆| 狠狠操使劲操| 久久鲁干| 综合色图区| 加勒比伊人综合| 97超碰精品图片| 99在线免费公开视频| 婷婷五月丁香五月| 天天天堂影视日韩亚洲91| 亚洲国产精品成人久久蜜臀| wwwcaobibi| 和协无码影院| 试看60秒 爽| 凹凸视频特色日本特黄| 超碰98综合网| 日本乱人伦片中文三区| 中文字幕人妻丝袜| 欧美激情1区| 美女国产一区二区久久 | 久久免费老司机精品| 精品网站99999| 国产精品直播在线观看直播| 色呦呦、国产精品| 日本人妻中文字幕精品| 任我爽视频在线观看| 丰满熟女人妻一区二区三五十一路| 亚洲A曰本VA欧美VA视频| 日韩人妻大香蕉| 五月天日日操夜夜操| 国产亚洲日韩在线三区黑人| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 97干日韩| 91欧美亚洲| 久久久人体| 久久一区二区蜜桃| 国产欧美伊人| 一级@啪啪视频| 天天干2区3区| 蜜臀视频网站| 操狠狠| 亚洲s色图| 717影院理论午夜伦八戒| 啊啊啊啊操死我了| 乱伦1色页| 国产精品久久久久999| 国产大学生口爆吞精合集| 99在线视频播放| 欧美强奸乱能| 97超碰欧美中文字幕| 无码99| 欧美中文字幕日韩在线| 中文字幕一品色图| 色香色香欲天天天影视综合网| 爱逼综合| 伊人玖玖网| 欧美成人黄网色网站| 日本高清视频在线观看黄已三辽| 色综合99| 免费看黄片现成| 国产人妻精品一区二区三区秋霞 | 亚洲不卡av在线| 亚洲激情视频| 宗合情欲网| 级做a爱无码性色永久免费| 欧美78| 亚洲第一综合| 欧美性爱www免费版| 这里只有97精品| 六月婷激情福利天堂69| 乱伦系列一区二区| 成人一道本免费视频| 91国产在线精品| 久久丁香五月天| 91狠狠综| 东京热精品97综合网| 秋霞欧美性爰视频| 久肏视频字幕| 欧美韩国你懂得在线 | AV色五月天| 欧美中文字幕男人天堂久久精品| 天天干人人干天天日97| 91第一页| 亚洲美女黄色| 国产女上位好爽在线| 91社操逼| 在线观看一级α片刺激高潮视频| 极品出轨视频网站| 国产亚洲精品美女| 91女网站| 大香樵伊人网| 丁香五月激情综合国产| 天天色天天干天天爱| 九九这里只有精品| 日日嗨AV一区二区夜夜| 玖玖资源中文字幕制服丝袜| 欧美日韩m| 欧美日韩性爱视屏免费看了| 手机在线播放国产福利| 被男人吃奶很爽的毛片| 欧美性爱精品七区| 久久大黄片| 18禁久久| 99精品综合久久久久五月天| 天美麻豆黄色录像| 五月天人妻综合| 日韩欧美中文字| 97干色天堂| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 色老大| 伊人嫩草| 免费国产| 九九九999久久久网站| 麻豆人妻偷人精品无码视频| 久久国99999| 天天日日日射| 亚洲第一二区另类图| 久久久不能久久久久| 日日夜夜狠狠| 人妻日日夜夜精品| 天天综合有色网| 国产精品视频电影| 九九热视频这里只有精品| 中文字幕在在线观看网站| 大香蕉伊利av| 青青草在线成人视频| 欧美黄页在线| 亚洲精品一二三四区| 性感女人网页在线观看视频| 亚洲不卡不卡中文字幕不卡| 欧美72网页| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 大香蕉九九| 99热最新网址| 少妇蜜汁| 色麻豆AV| 人人操人人操人妻人| 婷婷久久久精品| 中文字幕视频2区| 综合网亚| 亚洲在线A| 午夜精品久久久99热蜜桃的功能特点| 五月天AV资源| 97天堂| 欧美日韩*字幕一区| 日韩亚洲中文有码视频| 一区二区三区精品视频| 蜜桃臀av在线观看| 蜜臀AV成人精品蜜臀AV久久| 蜜桃精品一区二区三区久在线| 久久超碰大香蕉| 2003天天干夜夜操| 97网色| 久久久久久久唑| 极品销魂美女一区二区| 欧美劲爆视频一区二区| 青青青操| 亚洲日精品| 国产在线视频午夜精华在| 国产综合在线视频网站| 手机看片1024你懂的国产| 97电影院超碰| 鸥美极品| 久久国产熟女影院| 亚洲天堂男人在线| 破处bbq| 性夜影院爽黄A爽免费动漫| 免费人成在线观看网站品爱网| 亚洲蜜桃V妇女| 操死我干死我| 欧美色网络| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 国产av又色又爽又黄| 国产原创自拍| 精吧天堂| 在线毛片片免费观看| 亚洲色图欧美视频| 亚洲 欧美 综合 91| 久久伊人最新网址视频| 牛黄色久午久| 97网址97| 91丝袜| 日本十八禁免费看污网站| 97福利视频| 日韩天天本| TS人妖另类精品视频系列| 岛园激情| 久草电影网| 欧亚成人| 内射中国少妇高清视频免费视频 | av在线资源| 亚洲国产丝袜在线观看| 乱伦熟妇一区二区| 丰满欧美少妇| 久久久久夜夜夜夜| 亚洲丝袜色| 国产日本顶级一区二区三区| 国产a级午夜毛片| 日韩欧美被操黄免费观看| 婷婷涩嫩草鲁丝久久午夜精品| 色婷婷网| 中文字幕成人乱码熟女精品国50| 久操精品网| 亚洲国产中文字幕| 国产成人免费观看在线视频| 99999精品视频| 日本熟妇精品九九| 亚洲一级特黄大片在线播放91| 殴美日韩m| 亚洲网站一区二区在线| 红桃视频高潮| 久久亚州精品成人Av无| 精品96久久| 精品久久久久久中文字幕三区| 殴美日韩m| 一本色道无码DVD中文字幕| 天天色,天天干,天天干| 久久111| 无码人妻精品酒店| 天天日B夜夜干B时时操B| 日韩一级二级三级免费看完整版国语版| 免费家庭乱伦视频| 淫乱图区| 日本国产欧美高清在线| 蜜屁av| 亚洲午夜免费狠狠干| 综合欧美亚洲| 成人老鸭窝人人在线视频| 亚洲?V无码专区在线电影| 色www精品视频在线观看| 最新三级网址| 欧美亚洲首页| 精品无吗久久| 免费作爱一级视频| 国产999精品久久久| 中日无幕一二三四区| 999久久久| 欧美97在线观看| 人妻系列无码专区中文有码| 国产97色在线| 黄色不卡视频| 99精品在线| 韩国三级一线观看久| 亚洲男人的天堂网| 国模一区二区三区| 中文色综合| 日日躁狠狠躁天天躁精品| 日韩在线视频1234| 333kkkk·亚洲com久久| 亚洲色图 欧美| 亚洲综合骚逼| 亚洲色鬼| 亚洲国产一区二区三区四区国产| 嗯嗯啊啊啊好爽| 日韩另类| 艹精品| 亚洲欧美黄| 免费亚洲国产精品久久一区| 97中文超碰| 奇米四色网| 久久久久国色αv免费观看| 女人一区| 中文字幕精品资源在线| 日本高清视频xxxx| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 大香蕉黄色一区| 国产一级内射高清视频| 草B在线| 综合网亚| 99久久com免费视频′| 小情侣高清国产在线视频| 欧美影院一区二区三区| 97视频播放| 超碰97久久国| 91色噜噜狠狠| 婷婷国产精品九区| 99热婷婷| 久草国产在线视频| 欧美gv在线观看| 亚洲欧美另类小说| 久久东京热成人| 亚洲素人综合| 91亚洲欧美综合高清在线| AV天堂男人的天堂| 亚州成人a∨| 人妻激情偷乱视频一区二区三区 | 中文字幕乱偷人妻久久艾草网| 欧美日韩国第一区| 97超碰色五月| 亚洲……91| 激情深爱五月天| 熟女被操视频网址| 亚洲经典啪啪| 五月天激情网图片| 精品一区二区成人| 人人操人人操草草| 人、人、摸,人、人、草| 色欲无码人妻日韩欧美精品| 亚洲精品性爱片| 777琪琪午夜免费A片| 欧美18老人禁| 色屁屁影院www国产| 欧美国产婷婷久久| 亚洲第一男人天堂| 欧美日韩中文字幕不卡| 色五月AV| 婷婷色色五月天福利| 69XX一中文字幕人妻91| 日韩 国产 欧美自拍| A一区片| 久久毛卡| 天天天天天干夜夜夜夜夜操| 色婷婷丁香五月| 综合网,亚洲,欧美| 亚洲码和欧洲精品激情系列| 999综合色| 亚洲限制级| 蜜臀一二三区| 久久一区二区蜜桃| 人妻二区| 强奸a片网| 人妻熟女字幕一区二区| 综合网亚| 女人18精品一区二区三区| 少妇淫妇久久久久久久| 欧美 精品国产制服第一页| 狠狠操狠狠操操| 天天草天天日| 国产亚洲精品美女久久久久久2021| 视频分类 国内精品| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 久久久精品国产亚洲AV无码| 色性欧美| 国产白嫩精品久久| 学生妹天天看| 性色亚洲| 久久一级无码精品毛片6| 亚洲国产第一页综合视频| yazhousetuoumei| 自拍丝袜美腿人妻| 一区超碰一区| 欧洲精品二区| 大香蕉强奸乱伦| 国产按摩一区二区三区| 午夜后入| 亚洲91射| 男人天堂黄片| 91 在线亚洲| 五十路熟女在线不卡观看一区二区| 亚洲天天操| 久久久亚洲欧美综合| 国产熟女少妇一区| 日本亚欧爱爱| 岛国片在线播放| 欧美久久九九| 一区二区三区一亚洲中文字幕、综合区灬 | 大香蕉九九| 色天堂综合| 欧美综合网在线| 国产无码一二三区| 少妇99成人麻豆| 91成人国产综合久久精品蜜月| 欧美性五月| 日韩欧美福利视频看看| 日本三级中国三级99人妇网站| 国产人妻一区二区三区欧美毛片| 97超碰碰| 首页亚洲国产高跟丝袜诱惑视频| 欧美 综合| 欧美性第一页| 青娱乐亚洲热| 亚洲开心网| 激情综合五月天| 国产福利夜| 亚洲成人帖图| 欧美黄色大片在线观看 | 久久久久久久97| 99操99| 欧美色图99| 国产日本久久免费精品| 91国产丝袜美女| 亚洲精品无码成人久久久99| 青青草精品| 女生久久网| 日本天天操| 超碰碰97资源站| 五月天综合在线| 91狠狠综合久久| 超碰av在线| 舔足天天操天天射| 国产剧情一区在线观看| 我要色综合网| 伊人大香蕉在线| 91丨国产丨白浆秘 洗澡动漫| 中文字幕天天天天天| 无码人妻一区二区三区色欲aⅴ | 国产自偷| 国产精品无码在线| 欧洲小说色图视频另类| 国产一级作爱毛片| 青青草原av| 午夜精品久久久久久久男人的天堂 | 中国一级操逼视频| 久久国产对白激情浪潮 | 69一区二区三区 | 东京热大香蕉| 日韩精品一区二区三区色欲| 天天干天天狼在线视频| 俞拍久久国应视频| 亚洲色图欧美色图另类图片| 亚洲美女高潮喷水视频| 清纯唯美综合| 另类 日韩 熟女| 中文字幕片| 色哟哟av| 少妇一区二区三区高速| 另类在线| 亚洲AV在线资源| 男女做爰猛烈动高潮A片免费应用| 国产小视频91| 97公开久久| 操逼无码操逼| 色狠狠综合| JULIA人妻风俗店中出电影| 狠狠躁天天躁日日躁| 四虎精品一区| 亚洲国产另类在线中文| 亚洲成人免费在线| 亚洲 欧美综合| 香蕉综合网| 国产不卡的视频| 亚洲美女自拍偷拍视频| 精品久久久不卡一区二区| 亚洲日韩人妻中文字幕一区| 国产青一二三| 一级AV性爱| 东京日日夜夜| 97在线公开视频| av午夜影院在线播放| 性色高清在线| 日韩精品在线放| 婷婷五月成人| 久久久久亚洲Av无码专区老牛影视| 婷婷色综合| 精品国产乱码久久久久久蜜臀| 亚洲黄色影视| 富女玩鸭子一级毛片| 99热色这里只有精品| 高清有码一区二区| 亚洲情色1区| 诱惑网综合| 五月丁香婷婷综合| 欧美 亚洲| 日产国产精品中文久久婷婷| 一区二区中文| 亚洲春色激情小说| 丰满少妇一区二区三区免费看| 黑人中出21连凳花野真衣| 亚洲第一精品在线视频| 欧美性爱超碰97| 大香蕉欧美伊| 婷婷视频网| 天天综合97| 熟妇女人妻呻吟久久AV| 思思热在线cao| 蜜桃网熟妇| www.操| 激情抓乳插进去啪啪啪日韩 | 美女露胸露屁股| 久操网无码在线| 蜜桃网熟妇| 亚洲欧美综合色| 免费A V在线播放| 日本理论在线| 天天操天天射天天日| 精品久久久久久久| 美女爽到高潮91| 91碰碰| 91青青在线视频| 91丨九色丨东北熟女| 日韩欧美午夜一区二区| 日本一线产区和二线产区伦理片| 91天美传媒精品| 天天影视网综合少妇| 99精品久久| 精品国产一区二区三区香蕉欧美| 91久热| 快播久久人人aV| 一二三四区操操Av| 亚洲女人91| 日韩无码第3页| www.高清无码诱惑一区.com | 天堂种子在线www网资源| 国产欧美日韩在线不卡第一页| 97超碰人人模人人拍人人| 精品1区2区3区| 在线播放中文字幕| baiduhicn.com。| 亚洲日韩青青草色月| 综合欧美日本三级| 国产欧美日韩在线观看麻豆传媒公司| 天天操狠狠日夜夜干超碰撸com视频在线观看| 91精品久久综合熟女| 超91综合网| 久久久国产精品亚洲精品| 91成人国产综合久久精品蜜月| 人妻精品综合中文字幕在线 | 爱射综合| 99999无码| 嗯啊不要啊啊在线观看视频| 日韩伦理久 久久 清纯| 天天看片天天爽| 夜夜嗷嗷一区二区| 91夜夜蜜桃臀1区2区3区| 天天操天天7| 日韩av无码网站| 欧美性爱在线无码| 久久久久久亚洲精品中文字幕人妻| 97网址www| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 美欧色综合| 无码高清少妇久久| 国产精品麻豆成人AV艾秋| 久久伊人青青草| 男人天堂最新手机版在线青青草| 最新亚洲黄色免费电影| 亚洲 欧美 手机在线观看| 亚洲国产无码精品首页久久久| 免费av大片| 大香樵伊人网| 一区二区视频你懂的| 黄色区免费观看中文字幕| 极品内射| 久久av无码| 97操97色| 91精品女厕偷拍视频| 色性荡荡荡荡视频| 国产精品剧情| 可以免费观看的av| 大香蕉淫人| 超碰国产情侣自拍网| 成人蜜乳小视频网站| 蜜色网色哟哟| gogogo免费高清看中国国语| 中文字幕十五区| 无码不卡亚洲成?人片| 偷拍 精品另类 凸凹了四区| 亚洲在线观看| 婷婷久久大香蕉| 91 综合网| 91nbbbbbb| 九月色婷婷| 午夜福利国产欧美日韩夜夜| 综合av影片| 激情自拍 校园春色| 中文字幕亚洲永久精品| 香港日本韩国人妇99www.wccm20| 又粗又长又爽在线观看| 91高潮喷水美女| 国产亚洲色婷婷久久99精品91葵花宝典| 色九九久九九| 日韩精品99久久久久久中文字幕 | 久久国产乱子伦精品免费女人| 日韩欧美久久婷婷网站| 开心五月激情网| 亚洲天天综合| 天天摸天天舔天天操| 久久久九九网站| 日韩人妻制服丝袜av| 国产黄色剧情影片麻豆免费播放| 久男人久久| 欧美制服网站美腿丝袜| 色官网色综合| 欧美18老人禁| 中国特猛少妇色xxx| 天美麻豆黄色录像| 午夜免费视频1000| 涩五月婷婷| 99热91| 日韩在线观看中文字幕视频| 插穴性爱视频在线观看| 天天操天天干一区二区| 韩美日操逼| 天天看天天干| nuu12国产麻豆精品| 亚洲综合图色在线| 久久精品99久久久久久| 久久6热精品99视频| 天堂资源站| 33044男人的天堂深夜备| 偷拍亚洲视频一区二区三区四区| 亭亭在线资源| se,,,亚洲欧美| 免费啊啊啊| 免费视频观看60秒| 大象AV在线| 操啊国产| 欧美视频中文字幕区| 五月婷在线| 亚州成人A√| 熟女一区二区| 色999偷自拍拍| 91成人在线| 超碰在线综合97| 国产精品96久久久久久| 日韩簧片免费看| 国产福利影视| 91久久久久久久| 99视频内射三四| 麻豆蜜桃视频在线观看| 亚洲日韩熟女人妻高清在线| 啊啊啊水好多| 999亚洲国产视频| 中文字幕精品一区欧美| 92人人操人人| 欧美熟妇视频| 黄页| 欧美视频中文字幕区| 婷婷尹人大香蕉免费| 国产四虎在线| 97人人色| 手机在线免费看的av| 亚洲无码久久久久久久| 欧美se亚洲| 国产精品爆乳懂色蜜乳| 日韩性爱播放| 91精品国产91久久久久久久久久久久| 中文字幕日韩电影人妻| 亚洲天堂色图| 999久久久国产精品| 色婷婷电影网| 91老熟女91老女人| 人人模人人看| 人人摸人人干| av东京热男人的天堂| 伊人专区一区二区三区| 99精彩视频| 东京热,男人的天堂| 91九色在线| 性色A∨91| 加勒比大香蕉视频在线| 少妇高潮喷水无套久久久久久| av绯色| 另类TS人妖一区二区三区| 欧州激情视频在线一区二区| 韩三级a视频在线观看| 蜜臀久久在线视频| 无码国产精品久久久久| 超碰一区二区| 亚洲伊人成综合成人网| 九九热在线视频| 我爱操| 国内91熟女人妻丝袜天天精品视频在线 | 天天操女人| 人人艹亚洲| 96一区二区三区| 欧美亚洲综合色| 搡老女人911熟妇老熟女| 综合干干干av久久久综合网| 国内毛片国产欧美拍| 色天欧美| 一区二区日韩欧美久久| 一类无码操逼视频| 国产9熟妇视频网站| 亚洲最大的黄色电影网站。| 亚洲婷婷丁香在线| 91九九九馒头| 在线看免费无码AV天堂的| 亚洲欧美黄| 欧美亚洲国产日本在线,久久精品国产| 国产日韩欧美亚洲精品95 | 欧色网址| 大屁股国产在线视频| 久草资源在线视频官方总站日韩丝袜美腿 | 天天拍夜夜| 亚洲日韩久久精品一区| 国产乱伦性爱AV| 在线有码中文字幕| 最新日本中文字幕| 97国产人人| 加勒比色99999| 人人爽夜夜玩视频| 亚洲精品一区二区免费在线观看| 国产久久久9999| 91在线页| 亚洲欧美在线观看无码| 欧美96在线|欧| 狠狠干妹子| 好湿好紧视频| 亚洲黑人在线| 超碰色综合| 免费国产视频| 综合97| 日韩人妻一二三区视频| 日本性爱欧美性爱| 亚洲精品无码久久AV| av无线看| 乱欲一区二区| 大香蕉久久| 青草青青久久久久久国产| 乱老女人一区二区视频| 欧美顶级黄片AAAAA在线免费看| 粉嫩av在线一区二区| 欧美啪啪女女| 青青操青娱乐| 亚洲不卡AV在线| 免费人人搞97| 天堂av最新电影网| 2024黄色视频| 色九久| 国产精品一区二区a| 人人操 欧美| 亚洲精品三区在线观看| 亚洲精品乱码线路中文字幕| 欧美日韩性爱无码| 一本正道久久熟女| 99蜜月精品久久| 97爱| 成人av福利在线观看| 欧美国产日韩清纯唯美| 亚洲色资源| 美日韩在线不卡人妻| 激情小说亚洲| 思思热久久成人| 日韩精品99999| 十八禁一区二区无码观看| 啊啊啊啊免费视频| 午夜高清成人在线视频| 欧美在线啊啊啊| 欧亚无码视频| 高清不卡国产| 少妇蹲下露出大唇5| 中文字幕成人| 色悠悠伊人网五月天| 国产伦乱91| 鸥美精品一区二区久久婷婷| 97伪v| 91老熟女| 日本123区操B视频| 国内操逼视频二区| 天天日天天干天天操| 亚洲中文日韩欧美大香蕉视频| 你草精品在线视频| 无码137片内射在线影院| 亚洲nv男人的天堂网| 大香蕉2017| 久久久婷| 国人欧美精品一区二区| 色妇综合网| 中国黄色特级精品一区二区三区片| 曰韩成人免费视频| 国产操逼网站亚洲一级黄色| 久久偷偷色综合蜜桃| 97WW精品| 综合色啪| 日韩性爱免费视频在线网站| 狠狠爱大香蕉| 中文字幕88av在线| 天啪| 97欧美色资源| a级理论午夜日本| 91综合网站| 天天激色| 国产AV天美| 2018色综合天天操| 亚洲熟女综合网| 亚洲不卡不卡中文字幕不卡| 尤物黄色在线观看网站| 久久久久久久精| 久婷婷一区| 97在线视频观看| 久久精品高清AV| 欧美97| 日韩亚洲欧美中文字幕| 久污| 91欧美成人色站| 大香蕉人妻| 久操操AV电影| 人妻另类 专区 欧美 制服| 免费亚洲国产精品久久一区| 一二三区在线| 国产极品美女高潮无套在线观看| 亚洲欧美第一页| 91色插| 亚洲少妇自拍中文字幕懂色| 国产又大又粗又长视频在线| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚欧精品久久久久久久久久久| 在线国产探花| 亚洲第一男人天堂| 成人免费性爱视视| 淫色网综合| AAAA级日本片免费视频| 亚欧中文字幕在线视频| 欧美爆乳精品一区二区| 日本不卡码黄色| 韩国一级婬片A片无码天美| 美女毛片999| 黄片直播三级黄片两女一男| 人妻另类| 国产欧美伊人| 欧美αv.com| 伊人嫩草| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 天天日少妇逼AV| 亚欧美色图| 777奇米影视777四色| 草草草草视频| 欧美色图天堂网m| 爆操无码| 色综91| 欧美少妇色综合| av资源在线播放天堂| 死我十八禁| 精品亚洲国产成人AV制服丝袜| 久夜操| 久久精品72| 久久香蕉综合一本到3atv| 日本媚薬中文字幕在线| 久草资源在线视频官方总站日韩丝袜美腿| 色婷婷九月天天综合| 久久精品无码专区| 最新av在线| 久久人妻视频| 成人亚欧免费视频| 91n欧美| 蜜屁Av| 很黄很污的免费网站| 久久精品高清AV| 三男一女不戴套的A片| 国产精品大屁股999| 99精品网站| 婷婷啪啪| 亚洲97成人在线观看| 青青草五月份天| 欧美午夜色妇色鬼| 欧美九9 9 9| 可能人人看人人摸| 粉嫩av平台| 97欧美综合网| 久久久久久中文| 97色碰| 五月婷婷六月丁香| 插插综合网天天影视网| 四虎国产成人精品免费一女五男| 国产亚洲精品农村妇女| 宗合情欲网| 懂色AV一区二区三区| 国产亚洲中文不卡二区| 丝袜人妻av一区二区| 欧美成人贴图| 国内一区二区三区| 91天堂视频| 人人扣人人操| 啪啪资源网| 欧美 精品国产制服第一页| 9999久久久| av橘色网站| 亚洲人精品久久久| 亚洲吊色| 嫩草影院永久在线制服丝袜| 爱射综合| 精品久久久九九九孕妇| 日本免费亚洲欧美| 噜噜噜在线视频| 亚洲中字幕日本一区二区三区| 超碰在线第一页| 日日摸日日碰| 夜夜嗷嗷一区二区| 大香蕉在线视频重口味毛片在线| 色五91| 久草综合京东| 五月天激情综合网| 亚洲日韩一区电影| 伊人久久婷婷| www.狠狠| 婷婷中文字幕| 国产精品亚洲免费| 精品一区二区成人| 青娱乐休闲视频在线观看| 老司机午夜精品视频| 色吧91| 久久精品久久久久久久| 综合久久2017|