日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
六月婷婷综合| 骚鸭AV| 青青操在线亚洲视频观看欧美在线 | 一区二区三区免费岛国片| 国产高清无码一区三区二区| 另类在线| 91色爽欧美| 欧美亚州色的图| 97中文字幕一区| 欧美性爱第1 页| 日韩大香蕉AV影片| 超碰在线1234区| 99少妇| 99亚洲国产精品色一区二区三区| 国产东北女人在线视频| 亚洲日韩人妻中文字幕一区| 欧美精品久久久久久久久88| 男人天堂.AB| 97网址97| 五月天我淫我色av| 男人的天堂2010| 色噜噜国产在线| 乱论91| 91精品91久久久中77777| 日本免费一区二区不卡| 亚洲欧美色图| 综合欧美日本三级| 亚洲伊人久久精品影院| 免费成人自拍视频在线| 99操视频| 欧美亚洲激情一二三| 啪啪啪大香蕉| 午夜毛片高清免费不卡| 日韩强奸av| 亚洲经典啪啪| 嫩草黄页| 国产毛片在线| 国产丸一视频| 8x福利精品第一福利视频导航| 亚洲操人| 97超碰中文| 91狠狠综合| 久久无码电影| 欧美中文狠| 操逼A∨| 亚洲AV免费在线| 91爱做| 午夜性生活av免费在线看| 色婷婷狠狠18禁| 国产精品国产自产拍高清AV| 超碰色图| 婷婷久久大香蕉| 嗯嗯啊啊啊啊轻点视频| 色爱欲亚洲| 国产91 丝袜在线播放| 免费一级精品啪啪视频| 亚州伊人色综台| 久久97| 亚洲天堂精品日韩电影| 97射欧美| 欧美精品久久久久久久久88| 欧美另类自拍| 日本性爱网址| 青青草一区二区高清无码视频| 日韩大香蕉精品在线视频| 精品一区二区国产日韩| AV在线性爱| 亚洲激情片| 大香蕉人妻久久| 亚洲另类色综合网站| 樱花蜜乳av| 六月丁丁香| 97超碰影音| 国产亚洲色婷婷久久99精品91葵花宝典| 欧美成人色| 国产午夜在线观看| 男人的天堂.com| 亚洲国产熟妇综合色专区| 97在线精品| 人妻夜爽夜夜爽| 簧片免费看视频| Julia Annxxxxx| 国产三级多多影院2022国产AA一级毛片无码| 91高跟美女在线播放| 天天看天天日天天操| 嗯啊免费视频| 色97欧美| 伊人麻豆传媒| 97色冈| 91 欧美| 免费a在线播放v| 色网综合网| 先锋影音av先锋一区| 亚洲最大黄网| AA级电影三区| 啊啊啊啊在线观看网址| 国产精品干干干| 婷婷15月天青娱乐| 欧美91久久久久| 99re这里只有精品9| 花野真衣| 国产精品成久久久久午夜午夜| 成人AV素股で擦久久| 精品欧美不卡在线播放| 久久有碼| 粉嫩绯色AV一区二区在线| 亚洲第一页色网| 97操碰| 精品91日日夜夜超清资源| 五月婷婷六月丁香| 亚洲无码精品AV久久久| 高清不卡国产| 综合伊人网12色| 黄色小视频日本txt| 久久鲁夜| 97色97干| 久久综合女优| 黄色高清无码无码破解免费暗网| 女生久久网| 熟妇人妻一区二区三区| 人人操人人爽人人操人人| 67914亚洲精品| 欧美激情黑人| 人妻日日夜夜精品| 国产AV高清AV无码| 亚洲熟妇一,二,三期| 久久夜嗨| 国产精品亚洲美女久久久久| 超碰成人人人爽人人爽| 4虎在线视频| renqi久久久久久久久久久久| 欧美色www亚洲国产阿娇要播| 欧美一区二区传媒| 人成午夜免费大片| 啊啊啊好想要| 国产精品毛片| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 久精品无码av一区二免费国产在线观看| 欧美激情高清性猛交| 超碰亚洲欧美日韩无| 免费观看性欧美一级| 女同性恋中文字幕| 欧美综合第一| 亚洲色诱惑| 亚洲97成人在线观看| 91美女视频直播| 动漫片子网站3黄| 国产呦精品一区二区三区下载| 78超碰| 操亚州| 国产精品老熟女一区二区| 色在线亚洲视频www| 五十路三区在线| 日本欧美m v精品网站加| 国产18精品亚洲精品| 亚洲网站一区二区在线| 国语精品av| 亚爽爽爽爽爽爽爽爽| 日韩在线观看字幕精品| 人人干人人操人人爱| 揉揉揉夜夜| 日本男人插女人的逼黄色| 操逼www.| 日本成a人v网站在线观看| 伊人久日| 色香伊人| 九月AV| 五月丁香综合激情| 无码聚合| 淫荡少妇免费| 日韩无码操逼片| 亚洲欧美另类图片| 久久久久久综合久久伊人蜜月| 亚洲欧美天堂在线| 啊嗯嗯啊好大好爽| 九九久精品| 日韩黄色电影网站| 后入综合久久| 调教熟妇 久久久久久| 精品一二三区久久AAA片| 欧美中文字幕日韩在线| 国产深夜福利| 熟妇色99| 97爱亚洲| 欧美中文综合| 青草一区二区| 精品无码少妇| 亚洲天堂电影网99999| 99日免费视频中文字幕| 欧美韩国你懂得在线| 欧美婷婷五月天| 白丝AV| AV 少妇 人妻 偷拍| 亚洲成人美女无吗| 91c色| 黄片色区软件| 国产美女高潮叫床视频| 在线可观看的黄色网址| 一区操逼日比视频| 日韩在线76| 亚洲网站一区二区在线| 搡老女人911熟妇老熟女| 精品99999久久久久久| 成人无码专区精品视频| 亚洲第一狼人丝袜美女另类| 92性色国产午夜福利在线661 | 67914亚洲精品| 国产欧美日韩在线不卡第一页| 免费啪啪一级视频| 欧美麻豆成人同性GⅤ在线| 国人欧美精品一区二区| 岛国免费黄色网址| 色情乱伦AV| 综合 欧美 亚洲 日本| 亚洲色欧美| 精品免费囯产一区二区三区| 超碰色图| 中韩中文字幕在线观看| 欧美色吧综合| 97ai亚洲| 日韩无码一区二区三区| 蜜乳AV免费观看| 男女啪啪啪18禁网站| 天天综合~91| 96一区二区三区| 日日骚一区二区三区| 久久激情四射婷婷丁香五月天| 天天干夜夜操一区二区| 三四中文字幕| 中英熟女操女| 久久五十路熟女人妻| www.黄色在线| www.99色| 欧美日韩淫加| 精吧天堂| 色香av| 天天综合-91入口| 亚洲一区二区三区在线激情| 亚洲国产一区二区入口| 综合欧美日本三级| 天天操天天射青青草| 91麻豆天美国产| 小草av不卡亚洲二区 | 日韩性爱视频免费在线 | 9 9无尺码天堂网| 大香蕉之青青草原| 久久东京热成人| 97久操| 欲色综合| 久久人妻无码毛片A片麻豆| 国产无遮挡| 美女诱惑在线一区| 欧色网址| 欧美亚洲素人制服精品| 色婷婷九月| 人人喜人人妻| 久久久天美| 久操视频在线观看| 八人操人人摸人人看| 丁香五月天堂| 日少妇亚洲版| 欧美同性恋 的搜索结果 - 91n| 色噜噜人妻av中文字幕| 欧美性天天| 九九毛片这里只有精品| 久久大香蕉手机高清| 97在线欧洲| 9.1小视频| 亚洲一区二区在线观看91| 国产成人无码啪| 日韩成人精品中文字幕| 国产第11页| 精品在线蜜臀| wwwcaobibi| 久久国产精品91| 蜜桃狠狠色伊人亚洲综合 | 天天超级碰碰碰| 人人操人人摸超碰| 国产日韩色综合| 在线播放成人网站| 亚洲综合性网址| 91超碰在线观看| 中文字幕日韩专区精品系列 | 永久免费av无码网站国产app| 超碰免费人人| 色色99| 99热一区二区三区四区| 中文字幕123| 国产乱伦视频污| 色欧美在线| 免费观看国产小粉嫩喷水精品午| 女人的久久久| 色97欧美| 国产成人手机视频激情| 麻豆久久久久久久久丝袜 | 亚洲日韩视频二区| 蜜臀少妇一区二区| 欧美大战久久久伊人| 久艾草在线精品视频在线观看| 国产亚州精品美女久久久免费| 一区,二区,三区网站| 久久久三区二区一区| 丁香五月天社区| 亚洲熟妇自偷自拍另欧美| 亚洲AV不卡在线观看尤物| 亚洲爽图| 亚洲色图超碰在线| 夜夜精品视频一区二区| 国产日韩欧美中文在线播放 | 91欧| 欧美v亚洲v日韩v最新在线二区| 中文字幕老熟妇黄色视频| 久久综合久色欧美综合狠狠 | 久区视频| av九九| 日本久久久久久久久久| 爱av免费| AV色五月天| 亚洲中文一区二区三区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 欧美久久久15P| 久艹日日日| 99热这里是精品| 欧美91久久久久| 久久的网站啊啊啊啊啊| 日日骚AV| 国产精品对白内射| 欧美性xxxxx狂欢| 免费观看欧美日韩操逼视频| 福利天天都操| 韩国一级婬片A片AAAAA| 18精品一二区| 天天爱天天韩国日本牛牛牛牛| 九t超碰| 丁香六月婷婷| 精品九区| 色综合中文字幕不卡| 综合影院永久入口国产| 91处女视频在线观看| 亚瑟国产精品久久无码| 粉嫩AV输入| 亚洲中文国际强奸字幕| 成人久久精品| 91三级理论片播放器| 国产大陆天天艹| 熟女欧美日韩综合婷婷| 在线一道啪| 精彩久久中文| 9999久久久久| 久久超碰日韩精品| 999综合网| 97国产超湿| www国产无码| 天天综合AV| 欧美性爱日韩高清| 色男人色天堂东京热| 夜间福利片1000无码| 国产风韵犹存熟妇三区| 防屏蔽在线视频| 欧美性xxxxx狂欢| 97网址97| 91香蕉视频在线观看免费| 天天影视射综合网| 精品人体无圣光凹凸| 欧亚日韩综合精品国产| 亚洲麻豆精品二区三区| 色欲三区| 蜜桃臀AV在线| 美女露胸露奶头| 久久久无码视频| 区一二区日韩亚洲乱码av电影| 强奸乱伦大香蕉| 青青久久久| 伊人综合色网| 日产欧美电影一区二区三区| 校园春色宗合网| 人妻日日干| 亚洲 欧美 第一页| 高潮综合网| 综合色99| 一级@啪啪视频| 人人操人人精品影片| 天天操天天插| 久久神马| 精品欧美日韩在线观看| 大香蕉操久久| 欧美色性爱| 亚洲国产精品无石码久久| 亚洲欧洲日产国产综合网| 国产 v乱码一区二| 精品国产一区二区三区久久久蜜臀| 成人性爱av| 91N综合网| 97视频620| 婷婷色导航| 亚洲啪AⅤ永久无码| 久久风骚城市| 国产农村妇女精品1区二区| 天天干人妇| 日韩性爱一级片| 综合色久欲| 夜夜操夜夜爽夜夜高潮| 大香蕉免费乱伦视频| 老女人综合网| 九九九偷拍| 天天影视射综合网| 久久天天摸| 欧亚在线视频| 91影库| 东京热天堂网| 老鸭窝在线视频播放| 欧美97在线观看| 亚洲丝袜二区| 五月天婷精品激情| 日韩无码操逼片| 精品在线78| 日韩国产品视频中文字| 九九亚洲视频| 欧美日韩操逼嗦吊| 3028国产精品| av网站在线观看了| 伊人网青青| 午夜亚洲| 骚妻少妇精品性色无码四色A V| 日韩三级一区| 任你草| 韩国一级婬片A片无码天美| 亚洲在线91| 天天日天天干天天摸天天操| 国产精品久久久久久久久久久久久久久久 | 丁香五月综合| 久久东京伊人一本到鬼色| 日本孕妇一区二区视频操逼免费看 | 禁止观看美女黄| 国产精选三级在线观看| 国产精品网址| 被窝影院午夜看片无码| 亚洲 欧美 日韩 国产一区二区| 九t超碰| 97精选久久| 中文字幕第23区| a人欧美综合天堂麻豆| 麻豆2区1区天美| 人妻熟女字幕一区二区| 99热9| 亚洲精品成人| 91九色在线| 九九色逼| 天天爽夜夜操| 五月婷婷六月丁香| 婷婷色导航| 翔田千里av一区二区三区| 全球成人中文在线| 日本午夜福利影院| 婷婷伊人| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 久久国语| 啊啊啊啊啊好舒服视频| 97久久国产精品| 欧美激情亚洲情色| 亚洲欧美天| 久久风骚城市人| 国产精品乱码久久久、久久| 亚洲天堂久| 91精品婷婷国产综合久久| 99这里都是精品| 亚洲精品国产熟女久久久| 九久久精品| 亚洲日本大香蕉1| 蜜臀Av一区二区三区| 亚洲欧美在线丝袜| 久久啊啊啊| 97色网| 69一区二区三区 | 黑人无码一区二区| 99精品热| 99re这里只有精品中心播放| 天天摸,夜夜摸| 伊人五月天青青草婷婷| 色五月天AV| 久久久专区| 久久久精| 欧美天天干| 亚洲自拍偷拍视频在线| 一区二区三区免费视频入口| 先锋激情∨在线视频播放| 福利视频一区二区微拍| 大香蕉五月天婷婷| 超AV色女| 久久人妇| 肥佬影院91| 日本一道在线播放高清| 国产高清自拍视频| 天天看天天在线精品| 极品色www影院| 亚洲无码99| 综合激情97 | 人妻在线大香蕉| 俺去啦自拍| 婷婷丁香激情| 欧美强奸乱能| 婷婷操逼| 亚洲激情色片 | 人人干黄色| 国产黄色av大片网站| 99国产人成精品| 人妻精品综合中文字幕在线 | 青草精品视频-日本久久久久网站| 久操91视频| 男人a天堂手机在线版| 东京日日夜夜| 亚洲凸凹超碰成人| 骚女天天综合网| 国产91精品在线免费| 中文有码第五页| 大香蕉92| 三男一女不戴套的A片| 国产亲戚伦亲在线| 久久国产99精品72福利| 狠狠干妹子| 亚洲啪啪综合?v一区综合精品区| 草草网站影院白丝内射| 亚洲精品久久久久久久蜜桃臀| 亚洲精品一二三四区| 男人的天堂无码| 国产综合日韩伦理| 爱射综合| 久久精品亚洲东京热色播| 国产中午字一暮区| 亚洲欧美色图小说| 中出91| 日韩视频小说在线观看| 91精品国产91久久青草| 欧美久久伊人| 国产精品网站www| 国产精品网址| 午夜120视频在线观看| 亚洲国产精品久久久久婷婷青年| 一区二区播放| 欧美一级美片在线观看免费| 色综合99| 久9久9久9久9久9久9| 久久天天艹| 九九无码久久精品视频| 日韩欧美中文字幕搭讪巨乳美人妻视频| 久久久一区二区三区四区五区| 久久精品日韩| 资源在线观一 二| 精品久久久一本一道| 国产欧美精选激情视频| 欧美激情综合| 人妻无码久久一区二区三区免费| 欧美97| 久久久久免费少妇| 日本久久久久久久久久| 国产美女mm131爽爽爽爽| 97 超碰 人人做 人人爱| 亚洲开心网| 色玖玖| 亚洲九九视频| 秋霞免费AV| 久久精品夜色国产亚洲AV| 欧美性爱第一页久久| 一区二区偷拍拍视频| 九九综合色| 天天cao在线| 中文字幕性感少妇av| 91爱欧美| 91P0RNY大屁股人妻| 在线99热| 日韩天天综合| 久久婷色| 九九九九亚洲| 六月婷婷综合| 亚洲玖玖爱| 国产高清吃奶免费视频网站| 成年人网站在线免费观看| 超碰在线免费一区二区三区| 成人一区二区三区四区| 麻豆 亚洲 97| 欧美精品久久96人妻无码| 青青11操操操操操操操操| www.狠狠操| 99久久com免费视频′| 亚洲天堂久| 欧美系列在线一区二区| 久久久蜜桃一区二区三区| 在线观看啊啊啊啊啊| 国产麻豆一级精品视频| 尤物AV免费网站| 亚洲夜夜欢无码一区二区 | 中文字幕国产精品1区| 亚洲在线a| 久久本道| 日婷婷| 91久久堂| 亚洲乱码国产乱码精网站| 亚洲国产精品久久久久婷婷老年| www九九热| 亚洲熟女av中文字幕| 人妻天天操天天爽视频免费| 99999精品| 国产白嫩精品久久| 国产成人午夜视频网址| 日韩综合97P| 日韩av乱伦| 亚洲国产综合图区中文字幕| 九九英色视频| 男女性感激情网站| 亚洲久草AV色图| 首页亚洲国产高跟丝袜诱惑视频| 极品色| 亚州色站 日韩电影| 亚洲三区视频| 成人草草视频| 嗯啊啊啊轻点视频 | 亚洲自拍97| 丁香五月婷婷色| 精品九九| 裸体1区| 久热大香蕉| 97精品视频| 色狠狠综合噜一二三区| 国产家庭乱伦表演| 亚洲美女黄色| 五月天激情小说| 2023天天操夜夜操| 日韩av电影网站| 92福利社视频| 性爱视频啪啪啪啪| 欧美后入式| 97色冈| 国产福利在线视频网站| 久久视频,这里只有精品| 这里只有精品视频在线| 五十路六十路七十路熟婆| 精品二区三四区五电影 | 亚洲欧美精品久| 色情五月丁香| 26uuu国产亚洲综合| 欧美综合网站999| 人妻夜夜爽天天爽麻豆三区网站 | 天天天操天天天爱| 青青三级视频| 午夜视频黄| 亚洲五月丁香花狠狠干一区二区三区 | 亚卅熟女乱色| 欧美视频激情久久久久久| 放黄片放3级黄片没穿衣服| 亚洲蜜桃V妇女| surenchaopeng| 久久透逼视频| 日产操逼| 日韩人妻播放| 中文字幕人乱码中文字的预防方法 | 国产精品爆乳懂色蜜乳| 丁香五月综合| 国产精品99精品视频网站| 色男人色天堂东京热| 99热啪啪| 激情小说日韩无码| 精品人妻少妇| 91麻豆一二三区| 91N欧美| 一区二区三区激情在线观看| 欧美综合国产精品久久丁香| 91爱剪切久久| 人人澡综合涩| a网站免费观看| 天天视频网站黄| 日韩欧美久久婷婷网站| 少妇与黑人高潮在线| 久久ww| 久久亚洲AV成人精品无码| 欧美精品精品一区二区| 黄色工厂这里只有精品| 精品无码一区二区人妻久久蜜桃| 九九aV| 欧美成人一级免费电影| 国产无码高清操逼视频| 少妇久久久久久| 强乱老妇中文字幕| 欧美激情黑人| 91欧美性| 91丝袜激情在线| 婷婷色五月激情| 久久AV无码AV| 丁香九月婷婷| 97久久超碰国产精品| 色香伊人| 欧美A√综合网 | 视频黄站| 少妇第一页| 黄色不卡视频| 日韩97视频!在线| 91欧美高清| 精品无人区麻豆乱码1区2区图片| 日本三级韩国三级99| 亚洲国产欧美中日韩成人综合视频| 亚洲,日韩,欧美,成人播放| 日夜伊人网| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 密臀视频三区免费网站| 精品国产乱码久久久久久久久久毛片| 日本道日本道中文字幕日本道最新日本道在线观看 | 久久啊啊| 亚洲在线观看| 在线电影亚洲色图| 欧美性五月| 亚洲熟妇综合久久久久久| 95精品在线| 激情五月婷婷| 激情综合五月天| 一本久道久久综合狠狠爱| 美女刺激久久国产欧美| 99久热| 五月天综合网| 亚洲有码 视频一区| 超碰AV在线| 亚卅熟女乱色| 欧美日韩99| 五月丁香久久| 日本色色的视频| 欧美少妇性爱网站| 欧美日本国产日韩激情视频| 欧美精品99久久久**| 蜜臀在线网站| 青青草一区二区三区四| 98超碰日本| 91丝袜在线视频| 美女毛片999| 精品然女一区二区| 四虎视频在线观看| 欧美日韩精品国产91| 欧美亚洲国产自久久| 久久艹逼视频| 在线观看日韩av不卡| 99欧美| 天天淫人人妻日日色| 中文字幕在线观看AV| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 中国熟女网站| 人妻天天爽夜夜爽2| 人人妻人人爽人人精品| 久草午夜| 成人自拍三级在线观看| 中字幕人妻一区二区三区| 女人 A一级| 亚洲黄色a级片| 亚洲成人网站在线观看| 67914亚洲精品| 青青国产精品在线| 欧美日韩222| 夜夜操一区二区| 校园春色AV天堂| 国产亚洲福利第一页丝袜| 无码动漫av中文字幕| 乱伦图一区| 大香蕉免费乱伦视频| 国产精品久久久久绯色| 厕所偷拍在线| 狠狠色一区二区中文字幕| 亚洲不卡一| 九九九九九九综合| 97精品一区二区视频| 久久久久久久亚洲Av无码| 五月天激情网站| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 亚洲黄色影视| 操人妻丝袜高跟| 久久久久久久国产| 97欧美资源| 色婷婷六月丁香七月婷婷| 国产精品自在自拍视频| AA特级绝黄| 色情成人五月天| 成人天天看站长推荐| 九九九热精品| 熟女熟妇一区二区三四区| 成人a v在线播放免费| 牛牛aV| 欧洲无码一区二区| 青草园大香蕉| 草草电影院| 国产吞精a级片激情电影| 真实高潮91| 色97国产69香蕉| 日韩免费一级性爱视频| 99re公开精品免费视频| 欧美综合站| 美女让帅哥通她小鸡鸡| 精品国产av一区二区三区四区入口| 久久一级无码精品毛片6| 欧美综合97www| 91蜜桃传媒精品久久久一区二区| 在线视频免费观看午夜| 国产女人高潮嗷嗷嗷叫小说 | AV乱伦国产| 九九aV| 亚洲成人一二三区| 呦女网站| 国产二区三区免费视频| 99这里有精品视频| 99欧美| 亚洲 欧美 另类 日韩 人妻一区| 久艹日日日| 性爱乱伦网址| 中文字幕人妻色偷偷久久皮 | 欧美不卡五十路| 青娱乐亚洲自拍| 91狠狠综合久久| 激情五月天校园春色网| 人妻性爱一区二区| 成人黑料社久久| 人妻黑丝袜电影| 激情五月天插| 日本不卡码黄色| 91欧美 | 国产精品永久免费10000| 麻豆亚洲Av成人无码一区精品| 东方亚洲在线操逼天堂| 日本日逼高清| 秋霞男人网| 91激情| 大香蕉九九| 青女偷拍网| 国产尤物AV尤物在线观看不卡| 天天看天天综合成人网| 国产乱码精品久久久久久| 高清孕妇孕交| 欧美 日韩 婷婷 五月| 色网色网色网色网色网色| 五月婷婷基地| 97在线播放| 国产伦乱91| 色偷偷男人的天堂麻豆| 国产av强奸美女| 久久超碰爱| 91高潮| 人妻少妇久久久| 成人青青草原伊人| 狠狠操综合| 精品国产99999| 中文字幕一区二区三区视频播放| 青青草原成人| 欧美很很操视频| 91亚洲黄色网| 99色综合| 超碰九区| 九九无码久久精品视频| 精品亚洲一区在线观看| 熟啊v色欧美热| 久久久久久一日韩字幕无码| 日韩美女,国产传媒,视频一区| 午夜120视频在线观看| 欧美综合 站| 亚洲欧洲网站免费观看| 九九九九九九综合| 国产精品一二三免费网站| 亚洲资源站| 国产专区路线| 中文字幕日韩电影人妻| 亚洲涩涩| 亚洲av影院在线观看| 伊人9| 国产剧情一区在线观看| 91美女网站| 91久久堂| Sekablack无码一区| 色综合20p| 国产树林里野战在线看| 高精欧美色| 人人扣人人操| 国产极品馒头逼| 欧美性猛交美女自慰91| 国产精品直播在线观看直播| ss久久| 日韩精品在线观看观看| 九九九九日本| 亚洲乱色熟女一区| 狠狠干妹子| 国产欧美第五页| 高清国产无码av| 精品女同一区| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 亚洲另类春色| 精品国产99| 国产精品久久久久久 百度| 免费视频观看60秒| 99r九九| 日韩探花精品在线视频| 精品人妻久久久久一区二区三区| 久久本道| 岛国毛片在线观看免费| 日日夜夜骑| 青青草自拍视频在线播放| 欧美人妻精品一区二区| 欧美综合1性辶| 欧美日韩大陆黑人少妇99| 92人人操人人| 中文字幕在线免费观看2| 久久久国产精品亚洲精品| 丁香婷婷啪啪| 精品日韩人妻视频| 国产情色第一第二页在线观看| 九九伊人网| 久久久人妻| 99热18这里只有精品| 性爱1区| 98人妻精品一区二区色欲| 啊啊啊啊二区好大| 99色综合| 亚洲囯产精品女人久久久| 久久久555| 午夜精品久久久久| 日韩国语字幕| 欧美强奸乱能| 欧美Ⅴ性爱| 啊啊啊操死我了| 亚洲色图国产另类| 99免费在线视频| 国产 热久久久久国产精品| 亚洲在线a| 啊啊啊不要嗯嗯在线观看| 美国美女AV在线| 色婷婷九月天天综合| 国内毛片欧美香蕉精品| 欧美高潮| 97视频7| 美女黄页| 黑人嘿嘿嘿超爽免费视频| 亚洲一区中文精品| 美女上床网站| 精品九九淫乱男| 九色 人妻 大香蕉| 欧美亚洲日本激情在线| 涩综合导航| 国产久久久久久| 亚洲影院小综合| 日本精品第一视频在'| 亚洲日韩美女丝袜美腿人妻视频| 好舒服视频| 91性高潮久久久久久久久| 国产免a费看黄片在线| 人人妻人人爽一区二区三区| 久射吧| 亚洲成人妻日韩在线| 五月婷婷丁香六月| 你想操日本小逼吗| 人妻无一区二区三区| 国产99热| 人妻熟妇一区二区三区| 超碰在线综合97| 九九九九九九九九九五码| 日韩熟女精品无码专区一区二区| 色五月综合网| 成人网站 免费观看| 最新亚洲人成网站在线影院| 91高清欧美| 青青草国产一区二区三区| 天天超级碰碰碰| 亚州人妻| 精品国产72| 婷婷丁香六月天| www.99色| 激情四射五月天| 1769精品一区二区三区| 一区二区影院| 国产高清MV操逼视频| 日本操逼视频不卡直接放| 亚洲国产成人7777| 热99这里有精品综合久久| 国产日韩怡红院| 丰满人妻一区二区中文| 午夜毛片高清免费不卡| 亚洲综合113页| 日本天天人人狠狠在线日美女 | 热99这里只有精品| 国产一级操B视频| 天天爽夜夜爽夜夜爽精| 国产在线综合网| 国产亚洲欧美每日在线| 欧美狠狠| 国产精品九九九| 男女无套 免费网站| 五月婷亚洲精品天堂| 亚洲色图图片| 91视频综合网| 人人操欧美风骚| 午夜男女爽爽爽影院视频| 澳门黄片一香蕉视频| 强奸乱伦AV网址| 无码一区免费在线不卡| 啪啪视频免费在线观看| 国产超碰97| 国产精品农村妇女精品| 久久久四区| 精品人妻少妇| 好吊色青靑草| 99这里都是精品| 国产精品午夜福利| 91观看 国产白丝| 老妇女91| av一区二区三区不卡| 操逼日批| 中日韩熟女| 极品极品色影院| 夜夜操狠狠操| 久久大香蕉手机高清| 嗯嗯啊啊亚欧精品| laoshunv91| 综合色久欲| 熟女熟妇一区二区三四区| 中日韩免费看男女操逼大全| 欧美v亚洲v综合v国产v妖精| 日韩黄色av中文字幕| 一本色道无码DVD中文字幕| 久久久久久久九九九九九九| 成人网站 免费观看| 99综合免费视频| 久久秀这里有精品| 成人A片男人的天堂| 亚洲。天堂。日本在线观看| 玖玖爱视频网站| 日语五十路和六十路亚洲国产精品| 97无码视频在线播放| 91社区伊人| 污污汅18禁网站在线永久免费观看| wwwcaobibi| 99国产人成精品| 午夜毛片高清免费不卡| 精品少妇高潮久久| 亚洲人成网站7777| 日本一级二级三级网站| 天天日少妇逼AV| 91oumei| 91大神电影天堂| 亚洲资源网| 久久香蕉国产线看观看亚洲女人 | 色色婷婷五月| 亚洲不卡av在线| 亚洲影视第一页| 男人天堂网址| 日韩中文字幕人妻视频| 国产熟女一区二区丰满| 在线视频五十市| 天天操福利视频综合网站| www久久国产精品| 久久久精品视频免费观看| 99久久无色码| 乱色老一区二区三区的观看方式| 九九九九精品精| 手机在线播放国产福利| 97操碰| 人人妻人人色| 天天天肏屄肏屄肏屄欧美欧美| 日韩精品人妻| 精品久久久久久中文| 狠狠躁AV| 超碰亚洲欧美日韩无| 国产丝袜欧美在线视频| 91狼人| 国产av高清版| 乱码人妻一区二区三区| 少妇久久久久| 啪啪资源网| 五月丁香啪啪啪| 久久久久9999妇女| 青草地一本线一区二区三区| 嫩呦国产一区二区三区AV| 五月丁香综合激情| 超碰98综合网| 99热伊人| A片三级无码| 色综合久| 国产色呦呦| 97精品久久久久久久| 2017,超碰| 天天操天天干一区二区| 台湾佬中文娱乐自偷自拍| 偷拍亚洲视频一区二区三区四区| 91大神精品长腿在线观看网站| 91久久99久久91熟女精品| 亚洲宗合网| 国产又黄又粗又猛大片| 激情小说五月天| 久久久久96| 丰满人妻一区二区三区性色| 99re这里只有精品中心播放 | 福利偷拍视频-中文字幕2019国语完整视频大全-S91AV | 日韩亚洲精品一区二区| 爱干爱射网啊啊啊| 精品人妻一区二区三区四区不卡在| 天天艹天天日| 内射黑人| 日韩精品人妻| 国产福利小视频高清在线观看| 色婷婷六月| av久日| 成人精品在线免费视频| 一级黄色影片| 欧美黑人与女人91| 围产精品一区二区三区视频播放| 色第一页| 丰满岳乱妇一区二区三区| 91人妻素女| 青青草久久一区网| 黑人猛交| 天天干夜夜操一区二区| 亚川综合视频| 婷婷伊人一区| 日产操逼| 亚洲性爱高潮影院| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 天堂中文资源在线bt| 欧美亚洲丝袜美女电影| 激情色图| 射丝袜高跟鞋99| 久久久久久九九九九| 青青操青娱乐| 色婷婷99| 91n处女在线观看| 免费强奸av| 嫩草黄页| 韩日无码在线观看| 日日干夜夜欢| 国产亚洲日韩在线三区黑人| 97在线观看免费视频l| 国产精品人妻熟女aⅴ| 女生自91网站| 精品国产91av一区二区三区| 91在线美女| 91啪啪| 丝袜内射| 97色香蕉| 九九九九久久久| 天美传媒精品一区二区| 青青操97| 无码一区免费在线不卡| 欧美一二在线| 黄色av网站在线播放| 玖玖草久草99蜜月一区二区三区| 最新三级网址| 日本国产二线女色| 99热这里只有精品99| 久这精品中文在线观看视频| 少妇毛片久久| 黄色激情电影在线观看| 欧美在线色| 操逼逼福利视频| 青青草玖玖爱| 超碰人人干| 91欧美综合| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 天天日天天干天天操| 午夜久久一区二区无码中出| 一二三四视频中文字幕在线看| 国产精品不卡一区二区三区| 91人妻中文| 白丝少妇一区二区|