亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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色| 欧美做爰无码A片视频| 91色图| 国产精品视频| 一道本久久棕合爱| 国产呦精品一区二区三区下载 | 国产 三级自拍| 人妻精品视频一区二区三区| 中国91AV| 嗯嗯啊啊日韩精品| 99热这里只有是精品10| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚洲污污网站| 91老司机在线视频免费观看| 999国产精品999| 日日爱99| 超碰 欧美| 久久久九九九九| 九九九九九九亚洲| AV中文在线可看| 一区二区三区四区免费视频| 午夜亚洲国产理论秋霞| 亚洲天堂男人天堂| 亚洲第一页色网| 97自拍一区| 男人天堂2012| 五月婷婷深深爱| 国产精品一二三在线看| 干干干天天| 无码直播久久久| 99999精品| 中出人妻中文字幕91在线| 中文字幕88av在线| 天天日日日射| 吉川爱美98堂在线| www久久99| av在线一区二区三区| 午夜视频黄| 老熟女网站| 极品美女嘿咻| 日韩91网| 四季av一区二区凹凸精品小说| 夜夜综合| oumeizonghese,www| 久久久99久9| 久久婷婷国产一区二区色| 国产亚洲色婷婷久久99精品91| 91天堂色男人的天堂| 亚洲精品一二区| 激情黄色片在线观看| 国产精品午夜AV完会免费| 欧美国产婷婷久久| 亚洲 欧美 色图| 国产精品大屁股999| 新精精品久久精品| 日韩欧美天堂| 91综合天天| 91国产丝袜美女| 在线情色电影 91大| 成人热久久精品| 亚洲影视综合网| 久久极品一区二区| 日韩美脚一区二区网站| 嗯嗯啊中文字幕| 天天日天天舔| 伊人亚洲国产一成人久久精品,久久| 成人性爱美曰韩| 亚欧视频在线| 91小视频| 欧美视频在线视频免费va| 成人性爱电影一区二区| AV电影在线播放| 国产又大又硬又长又粗| 91在线无码精品秘 软件| 蜜乳AV网址| 日韩免费看黄片| 國產尤物AV尤物在線觀看| 日韩乱伦视频| 色婷婷亚洲婷婷| 白嫩国模丰满一二三区| 色欲久久综合| 97人人干| 北京专精特新企业招聘信息| 欧美性暴力猛交XXXX| 国产25页| 亚洲久草AV色图| 美女t无毒不卡不卡| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 国产精品成人午夜福利| 欧美激情综合网| 欧美大波激情xxxx| 亚洲国产精品无码AV在线| 强奸乱伦Av网| 无码伊人久久大杳蕉中文无码| 一二三区在线| 天天综合网~91入口| 久肏视频字幕| 麻豆天美传媒毛片| 飘花国产午夜精品不卡| 屁屁影院一区二区三区国产| 九九色影院| 精品一区二区三区蜜桃臀赵总 | 欧美精品宗合| 91午夜无码| 国产色精品午夜大片| 九九碰九九爱97超碰| 欧美另类色图片| 嗯嗯啊啊操死我| 青娱乐手机日韩在线视频| 热热色国产一二区AV| av影院十区| 国产女同在线观看视频| 成视频在线观看免费看| 久久久9品一区二区三区| 黄色不卡视频| 亚洲资源吧| 插入逼91| 免费A V在线播放| 亚洲精品无码少妇久久| 在现视频女上位好爽| 亚洲av总站| 97在线资源| 五月天伊人网| 宅男影院久久久,99| 手机在线观看不卡无码av| 黄色AV影视| 大屁股熟女一区二区三区| 久久久久久97| 婷婷视频在线免费观看| 日本淫色网| 天天搞欧美| 亲子敌伦对白在线播放| 久久这里只精品99re66图| 久久久工口| 日本免费一区二区不卡| 国产强奸AV在线| 国产精品久久久久无码AV会牛| 青青青国产| 亚洲色棕合| 亚洲第一页第二页激情| 五月婷久久| 夜夜嗨av午夜成人| 九久久精| 啪啪免费| 天天摸夜夜摸| 欧美综合天堂| 岛国视频一二三区| 亚洲男人天堂网久久| 后入综合久久| 插日本熟女视频| 在线女人91| 免费视频观看60秒| 东亚亚洲无码高清| 国产盗摄美女如厕大神作品在线观看| 9久久久久久| 白天啪啪晚上啪啪视频| 日本一二区免费| 99色热| 91高清无码下载| 亚洲精品男人的天堂| 粉嫩av一区二区三区四季| 国产精品高潮久久久无码| 91GD.COM| 青女在线| 国产精品日韩在线一区| AV 少妇 人妻 偷拍| 操曰本熟女| 国产综合日韩伦理| 久久小视频| 亚洲情色一区二区三区| 日本视频在线中文字幕| 亚洲性爱高潮影院| 少妇三p| 无码视频黄色网战| 男女性扦B| 亚洲系列第一页| 日韩 成人 有码| 性爱网站一区二区| 精品国产污一区二区三区| 伊人骚琪琪亚洲天堂网站| 日本午夜福利影院| 人妻丰满熟妇av无码区蜜桃| 午夜影美女日鸡鸡天天视频国产| 91日日夜夜| 视频黄色国产一级| 人妻免费观看| 日本性爱少妇| 青青草五月份天| 一级啊性爱在线视频| 日韩精品国模| 强奸a片网| 搡老熟女国产1000部| 久久精品店| 色网1| 性色av网站| 欧美 综合 亚洲| 3028国产精品| 精品一区二区2| 日欧操屄视频| 精品人妻一区二区三区不卡断| 91操人| 大香蕉线| 九九九综合精品| 呦呦影院| 嗯嗯,好大,好爽,好骚 | 爱逼综合| 亚洲欧洲美腿丝袜| 成人乱人伦一区二区| 美女尤物人人操| 色综合20p| 国产97色在线| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 欧美激情 日韩精品| 大屁股人妻女教师撅着屁股| 夜夜福利| av国产无码| 亚洲三级。日韩三级| 亚洲18禁| 久久久一区二区三区三州| 99黄页网站| 久久久久亚洲Aⅴ无码| 天天日骚逼熟女| 狠狠综合| 家庭乱伦麻豆| 欧美色图 人妻| 亚洲最新a在线观看| 99少妇| 亚洲有薄码区日本系列中文字幕| 亚洲好看强奸乱伦| 后入式999| 吻戏激情性巴克| 2025年A片视频精品| 97精品久久久久中文字幕| 男人的天堂一区三区| 久久久久久久| av亚洲天堂资源网站| 國產尤物AV尤物在線觀看| 青娱乐黄色录像| 天操天操夜操夜月操月年年操 | 欧美激情一区二区| 久久久久国产无av| 人人么人人操| 一区二区三区四区在线不卡| 淫妻综合网| 午夜福利1区2区3区| 中文字幕精品三级久久久| 涩涩五月天| 欧美精品23| 玖玖资源视频一区二区三区| 少妇被玩视频二三区| 性做久久久久久久| 国内毛片欧美香蕉精品| 人乳av| 亚洲熟妇乱女区二区三区| 思思热在线cao| 大逼色网站| 9 7超碰在线免费观看| 日本人人操人人操| 欧美特大AA级黄片| 亚洲成人ab| 偷拍在线观看视频| 偷拍欧美综合| 欧美成人黄网色网站| TS人妖另类精品视频系列| 中文字幕乱偷人妻久久艾草网| 欧美性天天影视| 亚洲中文国际强奸字幕| 精品人妻中文字幕高清| 另类欧美综合| 欧美在线中M| 啪啪视频mP4| 91在线无码精品秘 软件| www熟女乱伦com| 一二区在线观看视频| 欧美亚洲丝袜美女电影| 色色婷| 国产大陆天天艹| 天堂性色| 久久久96精品| 免费网站观看www在线观| 综合熟女| 日本午夜久久电影| 一级性爱啪啪视频| 国产精品高潮久久久无码| 欧美桃色网| 97天天弄| 欧美综合色站| 92福利社视频| 簧片免费看视频| 午夜操逼不卡| 亚洲āv网址在线观看| 精品人妻久久久| 日日干男人的天堂| 91亚州欧美| 亚洲,欧美,春色,另类| 日本在线视频导航| 亚洲精品国产精品乱码不99| 亚洲五码一区二区三区| 亚洲欧综合另类无码一区| AV一起草在线| 日语五十路和六十路亚洲国产精品| 中文字幕一区二区三区人妻不卡| 超碰在线1234区| 91久久堂| 欧美狠狠鲁| 青青爽| 嗯啊不要在线观看嗯啊| 丁香色色网| 亚洲精品亚洲人成在线麻豆| 国产精品久久久久无码A√| 襙一襙| 精品高潮| 亚洲精品久久久久毛片A片拉屎 | 久久一二三四五六七八九区区区| 欧亚免费视频| 综合欧美日本三级| 中文字幕123| 噜噜噜在线视频| 91精品久久久久五月天精品 | 97在线视频免费看| 美女好片色日本| 久久99久久99精品天美传媒棢·纸:. | 欧美在线干| 欧美黄色大香蕉一区二区| 强奸乱伦中文字幕AV| 欧美日日操| 天天懆天天日| 亚洲成人日韩小说| 东京热男人的天堂精品| 东亚亚洲无码高清| 91chinese在线| 日本三级韩三级99久久| 欧洲色| 五月天激情视频| 婷婷成人五月天| 亚洲精品男人的天堂| 青青草日韩无码| 五月婷婷六月色| 中文字幕日韩综合| 成 人 影视 一区 二区 三区 四区| 射 色综合| 91人人看| 一区二区 电影 亚洲| 成人热久久精品| 超碰98综合网| 蜜桃臀一区二区三区久久| 欧洲站一级二级三级h| 好爽要喷了| 91熟女视频网| 丝袜 中出 制服 人妻 美腿 中文字幕| 亚洲欧美综合图片| 97超碰日韩| 97超碰人人操人人操| 欧美成熟性爱精品| 亚洲高清国产理伦片| 亚洲黄网在哪免费看| 婷婷亚洲天堂| 亚洲免费精品一区| 欧洲精品久久| 96超碰网| 91丨国产丨白浆秘 洗澡动漫| 免费成人在线观看91| 亚洲成人日韩小说| 90后性网国产欧美| 亚洲色人妻综合| 免费的av网| 亚洲揄拍网| 超碰9 7女人 | 精品白丝一区| 欧美色图亚洲激情| 国产精品亚洲一级av第二区| 国产吞精a级片激情电影| 亚洲成人网站在线观看| 99re3这里只有精品| 蜜臀AV成人精品蜜臀| 大干人妻| 草草草视频在线免费看| 岛国黄色短视频| 9久久精品| 宅男午夜在线视频| 五月天亚洲网| 亚洲无 码A片在线观看麻豆| 日韩日韩日韩-国产乱码精品一区二区| 欧美日韩狠狠爱| 久久美国毛片| 国产黄片精品在线| 超碰调教97| 97天天| 欧美另类色图片| 欧美大香蕉97| 丁香7月婷婷| 国产精品96| 欧美国产精品| 天天欧美欧美亚洲网| 天天干天天日天天射黄色片| 免费视频观看60秒| 久久天天艹| www.久久99| 嫩草伊人久久精品| 啊啊啊好大好深| 精品国产91内射久久| 国产无马av| 国产亚洲欧洲在线观看| 欧成人在线| 麻豆视频国产一区二区| 99久视频| 久久大陆| 欧美日本成人一区二区| 国产精品老师| 欧美日韩精品久久| 亚洲开心网| 肉嘟嘟www视频在线观看高清| 青青青操| 亚洲另类色综合网站| Sekablack无码一区| 婷婷亚洲综合| 久艹99| AV一起草在线| 99热超碰| 乱人乱色一区二区三区免费| 综合欧美激情网| 97综合在线观看| 久久大香蕉97| 熟女精品va中文字幕| 欧美最婬乱婬爆婬性视频 | 欧美一级A片在线看视频性色| 色婷婷综合久久中文字幕雪峰| 亚洲成成熟女人综合一区二区| 国产成人手机视频激情| 91天天综合网,天天综合网| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲无码超碰免费| 精品久久一区二区三区四区五区| 亚洲。天堂。日本在线观看| 精品国产91内射久久| 嗯啊不要在线观看嗯啊| 亚洲另类色综合网站| 美女极品一区二区三区| 欧美老妇综合网| 久久春色| 91碰碰碰| 亚洲图片 欧美电影| 国产综合网站在线播放| 裸体1区| 大香蕉免费3| 女人的久久久| 日本大香蕉综合网| 丁香五月天堂网| 亚洲综合草草| 日本一区二区不卡精品| 很很很很操| 影音先锋每日最新资源在线观看| 91丝袜美女| 国产400孕妇孕交群| 丁香五月影院| 久久久青青草| 五月天婷婷色| 99热这里都是精品| 狠狠操狠狠插| 精品人妻少妇| 五月天激情小说网| 色香欲影| 欧美日韩国产中文精品字幕自在自线, | 亚洲成人一区二区精品| 麻豆精品三区视频| 国产精品久久99日日| 久久久专区| 乱伦a片视频| 成人久久精品| 国产人妖视频一区在线观看| 丰满人妻一区| 精品久久人妻成人网| 91插B网站| 韩国一级做A片免费的| 青青青草原| 亚洲熟女中文字幕在线| 国产人妻久久精品一区二区三区| 爱射综合| 亚洲超碰97| 97视频在线观看播放与子乱对白在线……| 深夜福利黄片| 四虎免费看黄| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 色噜噜精品一区二区三| 久久网亚洲| 亚欧性爱在线无码| 97在线视频网站| 校园春色综合| 国产精品久久天天干| 60秒免费小视频| 永久免费发布性爱网| 欧美线天码中字| 国产免费一区二区在线A片视频| 啊啊啊啊啊啊在线| 人人色人人射人人妻| 性色av大全| 97精品97久久| 9999久久久久| 中国AAAAAA黄色片| 午夜福利在线合集| 97色色网| 亚洲av国产av综合av卡| 人人摸人人舔一区二区| 99热免费| 摸奶性爱视频网站在线免费播放| 色拍偷亚洲| 91精品久久久久久77777| 91亚洲色图| 欧美A√综合网| 亚洲成人福利电影免费 | 神马午夜久久| 亚洲码和欧洲精品激情系列| 中文字幕黄片在线| 91少妇香蕉久久精品| 干婷婷综合网| 久久人妻| 欧美人人天天网| 久久人人爽人人爽人人片Ⅴ| 国产精品久久久| 乱老熟女一区二区三区| 在线人人人人人人精品超| 啊啊啊久久| 蜜奶av| 日本日逼高清| 亚洲中文字幕一区二区| 国产60区。| 综合自拍| 亚洲欧美天堂| 欧美久久久| 日日夜夜干| 在线岛国新天堂8| 国产黑白丝在线| 日韩紧密久久| 亚洲午夜福利在线影院| 91亚洲黄色网| 夜夜嗷嗷一区二区| 久热大香蕉| 91人精品妻入口| 啊啊啊啊,啊啊好多水| 天美传媒国产原创中文字幕亚洲欧美另类 | 日日夜夜骚| 亚洲成人性爱在线观看| 亚洲欧美另类激情小说| 色综合 加勒比| 97精品国产97久久久久久户外免费| 国产亚洲精品av一区| 天天干18禁| 伊人 俄罗斯 a v| 好吊妞转入那个网| 国产成人无码啪| 校园春色AV天堂| 四虎在线播放| 中文字幕日韩国产传媒欧美精品| 人妻 丝袜美腿 中文字幕| 人人操人人肉久久精品| 久久久久久久久久精| 91原创在线观看| 久操视频资源站公开| 国产精品视频内谢女人| 97在线免费公开视频| 白丝jkav| 色五月婷婷麻豆在| 精品久久人妻成人网| 牛牛操视频逼| 96精品久久久久久久久| 丰满欧美放荡少妇在线| 久久綜合很很很| 啊啊啊啊嗯嗯嗯用力好爽| 思思性爱| 中文AV制服乱伦| 亚洲不雅视频1区二区| 中字一区| 大香蕉欧美国产日韩高潮| 亚洲综合色男人网| 国产成人无码久久精品| av日韩国产一区二区| 永久电影三级在线观看| 鸥美中出| 欧美桃色网| 亚av顶级裸体一区二区三区四区五区 | 欧美日韩高潮喷水91| 日韩精品视频在线观看一卡二卡| 一级黄色视频网| 久久永久无码人妻视频| 欧美78P| 亚洲精品乱码久久久久久蜜桃麻豆| 日韩欧美偷拍美女视频| aaa淫乱视频| 美女露胸露尿口| 亚洲激情综合| 五月激情视频| 在线观看黄色电话| 五月天婷精品激情| 中文字幕亚洲热播人妻| 中文字幕日韩精品久久| 国产精品不卡av免费在线观看| 一本久道久久综合狠狠爱一密臀精| 欧洲精品久久| 97视频www| 亚洲天天影视综合网| 超碰天天久久79| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 97操97干| 天天日天天干天天摸天天操| 久久后入制服| 五月天人妻综合| 九九免费影片| 日本加勒比无码专区一二三| 美女网站黄页| 亚洲天天精品| 欧美色图亚洲色,麻豆| 破处bbq| 中文字幕精品专区搜索结果91| 蜜臀th| 久久精品中文字幕女同| 国产精品久久久久久久久久二区三区| 91女优在线观看| 偷拍片久久| 亚洲中文字幕一区| 久啪视频| 极品色综合| 天堂综合网| 亚洲丝袜综合| 天天色欧美| 老熟女网站| 久久大黄片| 超碰在线人妻中文字幕| 韩三级a视频在线观看| 人妻一区二区三区视频 | 嗯啊免费视频| 亚洲一二三精品久久网 | 欧美18 在线观看| 久久无码一区二区二三区性色| 2019精品国产无码成人| 啪啪AV导航| 家庭乱伦网站国产| 极品极品色影院| 99re久久| 亚洲美乱| 欧美人妻色| 久久久国产精品亚洲精品| 国产精品一区二区麻豆| 91宗合网| 无码不卡亚洲成?人片| 国产精品久久久久久久久久梁医生| av一区二区三区四区| 亚洲中文日韩欧美大香蕉视频| 最新日韩黄片| 五月激情综合网| 亚洲综合有玛| 制服中出中文人人精品| 超碰97极品9| 久草加勒比一区在线| 性综合网| 中文字幕奈奈美被公侵犯| 久久久久成人亚洲国产| 少妇超碰在线| 日韩钢筋无码高清啾啾啾| 男人的天堂无码| JuliaAnnXXX888| 精品无码久久久久久久久果冻糖心| 国产精品麻豆免费视频| 国产 日韩 另类 视频一区爱| 屌色在线97视频| 天天日日日射| 日日碰视频网| 天天色图| 家庭乱伦性爱av| 久久婷婷五月| 国产丰满熟夫69mpp| 青青草原香蕉日本Ap| 91综合网| 操逼视频亚洲| 东京太热久久久| 国产免费久久精品99re韩国| 97久久久久| 最新日日夜夜天天干干| 丁香九月激情| 亚洲狼狼干综合1| 加勒比久久av| 最新无码国产| 亚洲图片偷拍视频区| 少妇被玩视频二三区| 午夜精品人妻二区三区| 极品国产内射| 日韩av一级黄片| 91人妻超碰| 后入式999| 欧美性爽xyxOOOO| 日韩性爱网址| 青青草日本中文字幕 | 操死我了嗯嗯嗯| 亚洲欧美变态| 俄罗斯一区二区视频在线观看| 久久99视频| 九九九九九用不成了| 熟女91网站| 日日操丁香五月天| 青青草密桃在线播放| 久操视频在线| 久艾草在线精品视频在线观看| 亚洲五月婷婷| 中文字幕人乱码中文字的预防方法 | 亚洲丨在线| 日韩无码操逼片| 熟女人妻av在线资源,黄色的资源| 欧美一级专区免费大片| 97香蕉网| 99热精品在线播放| 伦在线97| 久久亚洲中文字幕视频| 欧美99| 狠狠操狠狠燥| 欧美一区二区三区四区综合| 久久,精品一二三| 97欧美色| 亚洲囯产精品女人久久久| 久久大香蕉手机高清| 熟妇无码视频三区| 日本精品无码三级网站| 欧美色图片91| 青青在线视频日韩欧美| 26uuu国产免费观看| 天天舔九色婷婷| 人人搞人人插人人操| 69精品人人人人| 熟妇高潮二区三区| 精品欧美А∨无码黑人大荫蒂| av在线人气| 先锋女优在线观看视频| 国产久久久久久久久一区二区| 亚av顶级裸体一区二区三区四区五区 | 91亚洲丝袜熟女| 3P乱轮视频| 亚洲自拍欧美国产首页网曝| 美女裸体无遮挡永久免费观看网站| 激情五月丁香五月| 一区二区播放| 亚洲av无线观看| 91超碰碰在线| 国产精品久久久久久久电影渣男| 久艹伊人精品综合在线| 99久久99久久免费精品蜜臀| 丁香六月婷| 九九操久久国产免费视频| 亚洲av淫乱| 亚洲综合 欧美| 成人aⅴ一区二区三区| 欧美视频激情久久久久久| 亚洲码在线中文在线观看| 精品人妻二区三区| 精品999999| 久操B网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产人伦精品一区二区三区| 91在线视频国产网站| 欧美拳交在线播放| 国产精品诱惑| 亚洲人成网www| 玖玖久久久| 九九亚洲| 男人的天堂2018| 麻豆2区1区天美| 人妻丝袜美腿中文字幕| 爆乳免费黄网站| w w w.久久精品| 欧洲中文字幕| 2018天天日天天日| 天天α片| 久久久亚洲高清不打码| 91欧美丝袜| 亚洲蜜桃V妇女| 91天堂丝袜美腿| 亚洲色啪| 热99这里有精品综合久久 | 国产精品久久久吖| 78p欧美| 操逼日批| 新精精品久久精品| 插日本熟女视频| 99在线观看视频在线高清| 亚洲成人免费电影| 国产传媒日韩欧美| 爱干爱射网啊啊啊| 91精品女厕偷拍视频| 免费亚洲国产精品久久一区| 色爱三区| 密臀在线一区尤物| 久久久亚洲精品电影免费看| 懂色中文一区二区三区| 性欧美精| 91精品久久久久久综合五月天| 91亚洲影视| 亚洲国产剧情少妇激情| 久久精品国产99精品亚洲蜜...| 欧洲精品欧洲精品| 欧美十八禁在线看| 欧美大香蕉久| 国产女人9999| 婷色五月| 亚洲高清视频在线免费观看| 欧色性第一页| 日韩AV一起草| 亚洲精品97| 91精品成人| 不卡啪啪视频| 久久久96| 日韩天天本| 日韩av乱伦| 先锋女优在线观看视频| 欧美老妇综合网| 中文色综合| 九九这里只有精品| 超碰av人人人| av在线播放国产一区| 五十路成人在线视频二区三区| 夜夜爽爽爽| 一级片在线观看高清无码| 久久天堂网| 久久女人视频| 日韩乱中文| 亚洲91色| 嗯嗯啊啊视频一区二区三区| 欧美极度丰满熟妇hd| 玖草在线视频| 国产精彩女在线观看视频| 91碰碰| 蜜乳AV免费观看| 乱操9999| 男人的天堂.com| 国产操逼逼网| 啊啊啊水好多| 亚洲永久AV无码精品秋霞| 成人三级片无码| 亚洲色欧美| 大干人妻| 成人色女网| 大香蕉啪啪啪| 黄色av网站在线播放| 啊啊啊啊无码| 亚洲少妇激情视频| 婷婷在线视频| 国产操操日韩三级黄| 又大又大又大又粗爽高潮观看| 色九九综合AV| 九一综合精品视品av| 美国一区二区免费视频| 亚洲一区二区三区在线激情| 国产中文字幕在线观看| 99热精品国产| 日产狠狠干| 国产综合永久精品日韩鬼片| 日本操逼无码| 91青青在线| 天美传媒在线一区| 一区二区三区网站日日骚| 国产精品一区二区 尿失禁| 欧美日韩国产成人高清| 97久久久久| 日日噜噜夜夜久久亚洲一区二区| 91是天天| 色yeye成人免费视频| 亚洲国产精品无码AV久久久| 老熟女综合网| 少妇专区一二三四五| 欧美成人精品一区二区三区| 久久九九综合| 精品国产www久久| 在线人成亚洲视频免费观看| 久久久久久久9| 大干人妻| 动漫av中文| 色老汉色| 翘臀vidoes| 99超级碰免费视频| 人人摸人人叼| 香蕉热人人精品| 一级性爱视频免费观看| 久久99国产精品| 欧美另类天堂| 亚洲综合射| 欧美日韩婷婷中文| 视频在线观看一二三区| 国产原创自拍| 国产精品岛国片在线观看| 岛国免费黄色网址| 无码直播久久久| 2017大香蕉| 资源新线在线天堂| 亚洲欧洲日韩中文字幕一区| 久久中久文96| 国产女人9999| 亚洲熟女一区| 撸撸成人在线视频| 亚洲色9| 久久发布国产伦子伦精品| 91在线页| 超碰免费在线| 五月丁香成人网| 亚洲欧洲日韩国产自在线| 日本操大逼| 99久久婷婷丁香| 欧美日韩另类在线播放| 91在线秘 男同| av网站国产主播在线| 84YTCOM性无码| 另类天堂| 精品九九九九| 九九九九热| 超碰色综合| 十八禁啪啪视频| 亚洲中文字幕精品一区| 亚洲网站一区二区在线| 大象AV在线| 亚洲网站一区二区在线| 麻豆国产97在线| 明星性猛交ⅹxxx乱大交| 农村女一级毛卡片| 国产一级高清免费观看| 乱伦熟女论坛| 中文AV制服乱伦| 9国产超碰| 都市久久精品激情亚洲| 国产久久成人| 久久久久亚洲?V片无码V| 操逼逼中文字幕| 最近2019中文字幕国语免费版| 操逼操逼视频操逼| 思思热免费视频观看| 日韩AC| 99视频只有精品| 超碰国产在线| 久久精品欧美一区蜜桃| 午夜福利久久久噜久噜久久综合| 红桃视频高潮| m欧洲一级午老| 久久婷婷欧美| 另类老少妇| 97美日韩视频| 测评在线观看AV| 日韩av电影成人在线| 国产AV久久野战精品| 中文自拍欧美影视| 丁香久久| 日韩三级网址| 免费看污网址| 国产精品午夜精品| 在线视频资源| 国产精品白领在线观看| 啪啪性爱免费视频| 乱伦a片视频| 大伊香蕉在线视频免费| 97天堂| 天天弄欧美| 天天摸天天舔天天操| 欧美色图另类图片| 久久无码精品| 无码高清少妇久久| 人人操人人摸人| 欧美色五月| 嗯阿好爽好紧| 天天内射| 91无码精品| 韩国三级一线观看久| 深夜国产一区二区三区在线看| 色婷婷99| 国产夫妻一区二区| 少妇丝袜在线观看AV| 啊啊啊慢点| 亚洲欧美国产中文视频| 中日韩熟女| 中文字幕 人妻不满 在线视频| 天堂精品小草| 亚洲精品97p| 午夜性生活av免费在线看| www.av在线视频| 99热这里是精品| 久久婷婷一区二| 老鸭窝黄色视频网站| 人妻激情视频| 国产精品爆乳懂色蜜乳| 亚洲中文国际强奸字幕| 欧美久久九九| 欧美综合 站| 久久国产乱子伦精品免费女,网站| 亚川综合视频| 婷婷色导航| 精品97久久综合| 久久精品男人的天堂| 天堂v无码免费视频| 天天天天天天天天天天干美女| 资源在线观一 二| 亚洲色悠悠久久88| 超碰美国| 亚洲啪啪视频一区二区| 99国内精品| 色香综合天天影视综合 | 日韩免费福利在线观看| 欧美顶级黄片AAAAA在线免费看| a男人的天堂| 五十路熟女在线不卡观看一区二区| 欧美性xxxxx狂欢| 国产成人精品日本亚洲语言| 日本伦理一区二区| 亚洲欧美综合网| 91影库| 91婷婷伊人狠人| 中文字幕无码不卡啪啪| 国产无码精品成人| 狠狠色婷婷| 福利在线视频一区二区| 精品一级毛片在线观看| 婷婷五月天影院| 久久鲁夜| 91操熟女| www.超碰在线| 97爱碰| 日韩免费三级黄片电影| 丁香六月婷| 青青青草伊人精品| 高清无码久操视频| 人妻啊啊人妻啊啊| 日韩成人人妻网站| 人人看人人爰人人操| 啊好大好舒服| 国产青青综合伊人| 丰满人妻一区二区三区四区| 97网址www| 久九九九九九九九热| 老司机深夜影院18未满| 精彩视频日韩| 综合色区偷拍| 国产麻豆一级精品视频| 91久久堂| 日本熟女不卡视频| 97舔舔| 99少妇| 国产无码一二三区| 亚av顶级裸体一区二区三区四区五区 | 欧美很很操视频| 亚洲日韩东京热一区| 亚洲国产一级黄色视频| 男人亚洲91首页在线| 东北女人高潮视频| 久久一区二区三区入口| 欧美色色人| 五十路六十路七十路熟婆| 免费看污网站| 91麻豆天美| 激情婷婷丁香| 99热婷婷一区二区三| 操99| 麻豆天美AV传媒第一页| 超碰成人最新最好看| 亚洲一区二区 麻豆传媒| 精品久久久久久AV无码| 亚洲国产成人精品999| 色香综合| www.久久99| 风月影院男女十八禁| 中国少妇XXXX做受| 91中文精品日韩欧美在线| 人人摸人人入| 丁香五月天婷婷姐| 九九九九精品| 天天添天天干电影| 91亚洲欧洲| 夜夜爽77777| 伊人超碰97| 无码9区| 99草精| 久久久com| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 97精品免费视频网站| 日韩精品 资源| 久久久久久加勒比| 91国产精品在线看| 亚洲影视综合| 嗯嗯啊中文字幕| 极品白嫩美少妇在地板上位骑射淫水泛滥| 九色97| 婷婷色香伊人| 殴美牲| av网站国产主播在线| 长长久久88视频| 欧美色图亚洲激情| 韩国轻伦国内自拍一区| 国产午夜精品理论片a大结局| 国产有码一区| 亚洲春色欧美激情自拍| 欧美国产视频| 欧美一级黄片视频在线| 欧美论理片| 欧美黄色片在线播放| 天天看片麻豆| 99久国产精品午夜性色福利| 330dv亚洲成年视频网| 亚洲天堂7777| 中文字幕av一区二区三区人妻少妇 | 久久久久久免费电影| 中文字幕在线观看视频www| 黄页| 久久久久久久 九九九九九九九| AA级电影三区| 99热日| 亚洲天堂 视频你懂的| 中文字幕视频在线观看| 18一区二区三区| 久久性生大片免费观看性| 福利天堂| 欧美日韩性爱视屏免费看了| 97在线视频免费看| 澳门人妻久久| 18禁精品网站在线看| 欲女人妻性色av| 超碰99在线| 黄片免费日韩| 美欧老女人97| 色牛牛AV| 97超碰超碰| 青青草伊人久久| 亚洲精品第一| 少妇高潮九九九九| 久久精品一区| 国产亚州精品美女久久久免费| 999热这里只有精品| 久久人妻四季| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 偷偷人人精品女女久久| 91人妻丝袜无码| 久久久久久日韩| 人人操人人操人妻人| 久久久久久性爱视频| 久久黄色视频一区二区三区 | 女人双腿搬开让男人桶| 草草草草视频| 天美欧美国产| 九热视频| 日韩精品字幕| 久艹视频在线| 九九久久首页| 亚洲天堂人妻熟妇视频| 97chaopengongkai| 亚洲色图国产另类| 激情看片网站| 在线毛片片免费观看| 久久久精| 日本天天吊| 国产午夜无码片在线观看影视| 久久免费少妇| 久久亚码| 亚洲色人妻综合| 日韩精品黄片免费观看| 9久精品| 中文字幕诱惑制服人妻丝袜美丝袜美| 东京热亚洲一区二区| 免费精品中文字幕| 亚洲资源站| 精吧天堂|