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

ARTICLE DETAIL

資訊詳情

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

Spring生態(tài)全景解析:從IoC核心到微服務(wù)與AI集成

Spring生態(tài)全景解析:從IoC核心到微服務(wù)與AI集成 很多人第一次接觸 Spring其實(shí)都是從Spring 是什么這樣一個(gè)看似簡(jiǎn)單的問(wèn)題開(kāi)始的。但真要把這個(gè)問(wèn)題講明白往往又不知道該從哪說(shuō)起——因?yàn)镾pring這三個(gè)字今天已經(jīng)不只是那個(gè) 2004 年發(fā)布的輕量級(jí)框架了它是一整片生態(tài)Spring Framework、Spring Boot、Spring Cloud、Spring Security、Spring AI……面試的時(shí)候問(wèn)一句講講你對(duì) Spring 的理解能把人說(shuō)懵。這篇文章我想換個(gè)角度不鋪開(kāi)講 API而是從Spring 到底解決了什么問(wèn)題出發(fā)結(jié)合我自己這些年用它的真實(shí)體感把這片生態(tài)的全貌串一遍順便把大家搜得最多的一些點(diǎn)——三層緩存、手寫(xiě) Spring、微服務(wù)集成、Spring AI——都放進(jìn)對(duì)應(yīng)的場(chǎng)景里講清楚。適合所有剛?cè)腴T(mén) Java 后端、準(zhǔn)備面試、或者用了 Spring Boot 但一直沒(méi)搞懂底層邏輯的讀者。1. Spring 到底是個(gè)什么東西從它誕生的那天說(shuō)起聊 Spring 之前得先知道它出生的背景。2002 年前后Java 企業(yè)級(jí)開(kāi)發(fā)的主流方案還是 EJBEnterprise JavaBeans那玩意兒出了名的重寫(xiě)一個(gè)簡(jiǎn)單的業(yè)務(wù)邏輯要配一堆 XML、要部署到專(zhuān)門(mén)的應(yīng)用服務(wù)器、要繼承各種接口本地接口、遠(yuǎn)程接口、Home 接口層層套。Rod Johnson 在《Expert One-on-One J2EE Design and Development》那本書(shū)里提了一個(gè)觀點(diǎn)——輕量級(jí)容器的思路可以替代 EJB 的復(fù)雜度重點(diǎn)放在對(duì)象管理和依賴(lài)管理上而不是重量級(jí)的中間件。后來(lái)這本書(shū)的代碼演化成了 Spring Framework 1.02004 年正式發(fā)布。所以你要記住第一件事Spring 最開(kāi)始不是奔著微服務(wù)去的它要解決的是Java EE 開(kāi)發(fā)的過(guò)度復(fù)雜。它的兩個(gè)最核心的武器一直沒(méi)變過(guò)——控制反轉(zhuǎn)IoC和面向切面編程AOP。到今天Spring Boot、Spring Cloud 管得再寬地基還是這兩個(gè)東西。現(xiàn)在你搜Spring搜出來(lái)的其實(shí)是一個(gè)五層生態(tài)Spring Framework地基包含 IoC 容器、AOP、事務(wù)管理、Web MVC、JDBC 封裝等核心模塊。Spring Boot基于 Framework 的自動(dòng)配置層把大量樣板配置干掉讓你能一個(gè) main 方法啟動(dòng)項(xiàng)目。Spring Cloud微服務(wù)治理套件集成了服務(wù)發(fā)現(xiàn)、配置中心、網(wǎng)關(guān)、熔斷器這些分布式組件。Spring Data / Spring Security / Spring Batch分別解決數(shù)據(jù)訪問(wèn)、認(rèn)證授權(quán)、批處理等特定領(lǐng)域問(wèn)題。Spring AI2023 年之后的新方向把 LLM大語(yǔ)言模型、向量數(shù)據(jù)庫(kù)、Agent 這些 AI 能力接入 Spring 生態(tài)。所以當(dāng)面試官問(wèn)Spring 是什么最好的回答不是背概念而是說(shuō)清楚Spring 是一個(gè)以 IoC 容器為核心、通過(guò) AOP 提供橫切能力、并逐步擴(kuò)展出完整企業(yè)級(jí)解決方案的 Java 應(yīng)用框架生態(tài)。這個(gè)定位是從第一天到現(xiàn)在都沒(méi)變過(guò)的。2. 控制反轉(zhuǎn)與依賴(lài)注入Spring 真正的立身之本2.1 IoC 容器到底反轉(zhuǎn)了什么控制反轉(zhuǎn)Inversion of Control這名字太抽象我換個(gè)說(shuō)法。以前寫(xiě)代碼A 類(lèi)要用 B 類(lèi)你得自己在 A 里面new B()這是正轉(zhuǎn)——對(duì)象之間的依賴(lài)關(guān)系由對(duì)象自己控制。IoC 干的事是把創(chuàng)建對(duì)象和組裝依賴(lài)的控制權(quán)從業(yè)務(wù)代碼里拿出來(lái)交給容器統(tǒng)一管理。你只需要告訴容器我需要一個(gè) B 類(lèi)型的對(duì)象容器就會(huì)在合適的時(shí)機(jī)把 B 實(shí)例化好、注入到 A 里面去。這個(gè)反轉(zhuǎn)帶來(lái)的優(yōu)勢(shì)平時(shí)體會(huì)不深一旦要寫(xiě)單元測(cè)試就非常明顯。比如 A 依賴(lài)了一個(gè)外部支付接口 P如果你在 A 里new P()測(cè)試的時(shí)候根本 mock 不掉但如果 P 是通過(guò)構(gòu)造器注入進(jìn)來(lái)的測(cè)試時(shí)傳一個(gè) mock 實(shí)現(xiàn)就行。這就是依賴(lài)注入Dependency InjectionDI對(duì)可測(cè)試性的意義。Spring 的 IoC 容器默認(rèn)是DefaultListableBeanFactory它在啟動(dòng)時(shí)做三件事掃描根據(jù)配置或注解找到所有需要管理的類(lèi)BeanDefinition。實(shí)例化按照依賴(lài)關(guān)系依次創(chuàng)建 Bean 實(shí)例。注入把依賴(lài)的對(duì)象通過(guò)構(gòu)造器、Setter 或字段注入到目標(biāo) Bean 中。依賴(lài)注入有三種常見(jiàn)方式我個(gè)人的建議很明確注入方式寫(xiě)法優(yōu)點(diǎn)缺點(diǎn)我的建議構(gòu)造器注入public A(B b)不可變、必填依賴(lài)明確、便于測(cè)試依賴(lài)多時(shí)構(gòu)造器參數(shù)膨脹首選Setter 注入Autowired void setB(B b)可選依賴(lài)靈活依賴(lài)可能未初始化、可被修改可選依賴(lài)用字段注入Autowired private B b;代碼最簡(jiǎn)潔難測(cè)試、隱藏依賴(lài)、違反不可變不推薦在業(yè)務(wù)代碼用注意很多老項(xiàng)目大量使用字段注入能跑不代表好Spring 官方文檔明確推薦構(gòu)造器注入原因是它能讓依賴(lài)關(guān)系在編譯期就明確下來(lái)而不是運(yùn)行到一半才發(fā)現(xiàn) NPE。2.2 三級(jí)緩存為什么循環(huán)依賴(lài)非要搞三層這個(gè)話題在熱搜里排得很靠前我單獨(dú)拿出來(lái)講。Spring 解決單例 Bean 的循環(huán)依賴(lài)靠的是三級(jí)緩存也就是三個(gè) Map一級(jí)緩存singletonObjects存放創(chuàng)建完成、可以正常使用的成品 Bean。二級(jí)緩存earlySingletonObjects存放提前暴露的早期 Bean還沒(méi)完成屬性填充但對(duì)象已經(jīng) new 出來(lái)了。三級(jí)緩存singletonFactories存放ObjectFactory工廠用于生成早期 Bean 的代理對(duì)象。正常流程是這樣的A 依賴(lài) BB 依賴(lài) A。容器先創(chuàng)建 A發(fā)現(xiàn) A 需要 B于是去創(chuàng)建 BB 創(chuàng)建過(guò)程中發(fā)現(xiàn)自己需要 A這時(shí) A 還沒(méi)創(chuàng)建完但 Spring 會(huì)提前把 A 的ObjectFactory放到三級(jí)緩存里。B 拿到這個(gè)工廠通過(guò)它拿到 A 的早期引用完成自己的創(chuàng)建B 創(chuàng)建完后再回來(lái)把 A 填滿。你可能會(huì)問(wèn)二級(jí)緩存明明已經(jīng)能拿到對(duì)象了為什么還要三級(jí)緩存關(guān)鍵區(qū)別在于——AOP 代理的時(shí)機(jī)。如果 A 需要被代理比如有Transactional或Aspect那 B 依賴(lài)的 A 應(yīng)該是代理對(duì)象而不是原始對(duì)象。三級(jí)緩存里存的是ObjectFactory這個(gè)工廠知道要不要生成代理等真正有人來(lái)取 A 的時(shí)候才通過(guò)工廠決定返回原生對(duì)象還是代理對(duì)象。如果只有二級(jí)緩存存的就是一個(gè)已經(jīng)確定好的普通對(duì)象代理就來(lái)不及了。我面試的時(shí)候經(jīng)常用一句話總結(jié)三級(jí)緩存存在的意義是讓 Bean 在未完成初始化時(shí)就能被提前引用并且保證引用到的是最終形態(tài)含代理。這是一個(gè)很典型的為了正確性犧牲一點(diǎn)簡(jiǎn)單性的設(shè)計(jì)。2.3 手寫(xiě)一個(gè)迷你 Spring 能給你帶來(lái)什么熱搜里有手寫(xiě) spring這個(gè)詞我非常推薦每個(gè) Java 后端都試一次。不是為了造輪子而是當(dāng)你親手用 HashMap 反射實(shí)現(xiàn)一遍掃描類(lèi)、解析注解、創(chuàng)建對(duì)象、注入依賴(lài)你會(huì)真正理解 Spring 的 IoC 容器就是一個(gè)高級(jí)一點(diǎn)的 Map 管理工具——只是它加了擴(kuò)展點(diǎn)、生命周期回調(diào)、代理機(jī)制而已。手寫(xiě)初期建議只做三件事掃描指定包下的所有類(lèi)找出帶Component注解的類(lèi)。對(duì)每個(gè)類(lèi)用反射找到構(gòu)造器和字段上的依賴(lài)遞歸實(shí)例化并注入。維護(hù)一個(gè)applicationContext的 Map作為一級(jí)緩存。做完這三步再去看 Spring 源碼里的BeanFactory、ApplicationContext、BeanPostProcessor你會(huì)豁然開(kāi)朗——原來(lái)框架的高明之處不是魔法而是每一步都有清晰的邊界和擴(kuò)展點(diǎn)。3. AOP 與動(dòng)態(tài)代理ProxyFactory 源碼里藏著的設(shè)計(jì)精華3.1 AOP 是怎么把橫切邏輯切進(jìn)去的AOPAspect Oriented Programming面向切面編程解決的是橫切關(guān)注點(diǎn)的問(wèn)題。什么是橫切日志、事務(wù)、權(quán)限校驗(yàn)、性能監(jiān)控——這些邏輯不屬于任何單一業(yè)務(wù)模塊卻要插入大量業(yè)務(wù)方法里。如果每個(gè)方法里手動(dòng)寫(xiě)一遍日志代碼改一個(gè)日志格式得全局搜替換維護(hù)成本極高。Spring AOP 的思路是定義切面Aspect通過(guò)切點(diǎn)Pointcut匹配哪些方法需要增強(qiáng)通過(guò)通知Advice定義增強(qiáng)邏輯前置、后置、環(huán)繞、異常等然后由 Spring 在運(yùn)行時(shí)生成一個(gè)代理對(duì)象替代原始 Bean 放入容器。業(yè)務(wù)代碼拿到的是代理調(diào)用方法時(shí)先走增強(qiáng)邏輯再進(jìn)業(yè)務(wù)方法。3.2 JDK 動(dòng)態(tài)代理 vs CGLIB到底怎么選Spring AOP 的底層代理有兩種方式JDK 動(dòng)態(tài)代理基于接口java.lang.reflect.ProxyInvocationHandler。要求目標(biāo)類(lèi)實(shí)現(xiàn)接口生成的是接口的實(shí)現(xiàn)類(lèi)代理。CGLIB 代理基于繼承通過(guò)字節(jié)碼生成目標(biāo)類(lèi)的子類(lèi)作為代理。不需要接口但要求目標(biāo)類(lèi)不能被final修飾。Spring Boot 2.x 之后的默認(rèn)策略是如果目標(biāo)類(lèi)有接口就用 JDK 代理沒(méi)有接口用 CGLIB。但 Spring Boot 官方其實(shí)更建議強(qiáng)制使用 CGLIBspring.aop.proxy-target-classtrue因?yàn)?JDK 代理在類(lèi)沒(méi)有實(shí)現(xiàn)接口時(shí)會(huì)直接失效而且 CGLIB 在性能上通常更穩(wěn)定。這里有個(gè)高頻坑Transactional注解為什么有時(shí)候不生效一個(gè)非常常見(jiàn)的原因是事務(wù)方法被同類(lèi)內(nèi)部的另一個(gè)方法通過(guò)this調(diào)用。因?yàn)?Spring AOP 基于代理this調(diào)用的是原始對(duì)象而不是代理對(duì)象事務(wù)邏輯根本沒(méi)有進(jìn)入。解決辦法是把需要事務(wù)的方法拆到另一個(gè) Bean 里或者用AopContext.currentProxy()獲取當(dāng)前代理對(duì)象再調(diào)用。3.3 從 ProxyFactory 源碼學(xué)到的設(shè)計(jì)模式如果你去看org.springframework.aop.framework.ProxyFactory的源碼會(huì)發(fā)現(xiàn)它就是一個(gè)典型的策略模式 工廠模式——根據(jù)配置決定用 JDK 還是 CGLIB然后把Advisor切點(diǎn)通知的封裝解析成攔截器鏈最后生成代理。值得琢磨的是DefaultAopProxyFactory.createAopProxy()里的判斷邏輯config.isOptimize() || config.isProxyTargetClass() || hasNoUserSuppliedProxyInterfaces。翻譯成大白話就是只要明確要求代理目標(biāo)類(lèi)或者沒(méi)提供任何可代理的接口就直接走 CGLIB。這段邏輯我建議每個(gè)面試者都去讀一遍因?yàn)樗抢斫釹pring 為什么這么選擇代理方式的最直接入口。從工程角度講ProxyFactory 給我們最大的啟發(fā)是一個(gè)復(fù)雜的系統(tǒng)可以被拆成策略的集合。代理的生成方式、攔截器鏈的組裝方式、是否暴露代理對(duì)象——全都是可配置的策略點(diǎn)核心框架只負(fù)責(zé)把這些策略串起來(lái)。4. Spring Boot把復(fù)雜度留給自己把簡(jiǎn)單留給開(kāi)發(fā)4.1 自動(dòng)配置是怎么變魔術(shù)的Spring Boot 最偉大的一點(diǎn)在我看來(lái)不是它發(fā)明了什么新技術(shù)而是它把 Spring Framework 的配置復(fù)雜度給藏起來(lái)了。想當(dāng)年用 Spring MVC 搭一個(gè)項(xiàng)目要寫(xiě) web.xml、spring-config.xml、配置 ViewResolver、配事務(wù)管理器、配數(shù)據(jù)源——沒(méi)一天搞不定。到了 Spring Boot你只要加一個(gè)spring-boot-starter-web依賴(lài)寫(xiě)一個(gè)帶SpringBootApplication注解的 main 方法世界清凈了。它的核心機(jī)制叫自動(dòng)配置Auto-Configuration。SpringBootApplication組合了EnableAutoConfiguration后者會(huì)通過(guò)spring.factoriesSpring Boot 3 之后是AutoConfiguration.imports加載一大批XxxAutoConfiguration類(lèi)每個(gè)類(lèi)上用ConditionalOnClass、ConditionalOnMissingBean、ConditionalOnProperty等條件注解控制什么時(shí)候生效。比如DataSourceAutoConfiguration會(huì)在 classpath 里有DataSource類(lèi)且你沒(méi)有自定義DataSourceBean 時(shí)才生效。所以自動(dòng)配置不是魔法它是根據(jù)條件自動(dòng)填充配置同時(shí)給你留好后門(mén)。想改配置一個(gè)是改application.yml里的spring.*屬性另一個(gè)是定義自己的 Bean 覆蓋自動(dòng)配置的默認(rèn) Bean。4.2 IDEA 社區(qū)版開(kāi)發(fā) Spring Boot 的姿勢(shì)熱搜里有intellij idea 社區(qū)版怎么用 spring boot這個(gè)問(wèn)題我在很多新手群里見(jiàn)過(guò)。IDEA 社區(qū)版是免費(fèi)的但不內(nèi)置 Spring Initializr所以新建 Spring Boot 項(xiàng)目最方便的辦法是去 start.spring.io 網(wǎng)站上把項(xiàng)目壓縮包下載下來(lái)然后在 IDEA 里直接File - Open打開(kāi)。注意幾個(gè)細(xì)節(jié)打開(kāi)項(xiàng)目后IDEA 社區(qū)版需要等 Maven 或 Gradle 把依賴(lài)下載完第一次會(huì)很久屬正常現(xiàn)象。沒(méi)有 Spring 插件不影響寫(xiě)代碼只是沒(méi)有對(duì)application.yml的自動(dòng)補(bǔ)全和 bean 跳轉(zhuǎn)功能上不影響。運(yùn)行方式可以直接 main 方法右鍵 Run也可以命令行mvn spring-boot:run。如果要在社區(qū)版里建多模塊項(xiàng)目Maven 的父工程方式完全可以替代 IDE 的向?qū)А?.3 WebSocket 集成一個(gè)典型的 yml 配置實(shí)戰(zhàn)Spring Boot 集成 WebSocket看起來(lái)要寫(xiě)不少代碼其實(shí)核心就三塊配置類(lèi)、處理器Handler、握手?jǐn)r截器可選。yml 里 Skilliges 的東西不多但不少人卡在這里我放一個(gè)我實(shí)際項(xiàng)目里驗(yàn)證過(guò)的完整配置片段。先看application.yml里關(guān)于 WebSocket 的部分server: port: 8080 spring: websocket: # Spring Boot 原生不要求額外配置以下僅為示例 # 如果使用嵌入式容器默認(rèn)路徑參數(shù)都不需要改 endpoint: /ws allowed-origins: *說(shuō)實(shí)話原生 Spring Boot 的 WebSocket 的 yml 配置項(xiàng)非常少核心配置基本靠 Java 代碼。很多網(wǎng)上教程寫(xiě)的 yml 配置其實(shí)是第三方庫(kù)比如netty或t-io或者 Spring Cloud Gateway 的 WebSocket 路由配置別被誤導(dǎo)了。真正關(guān)鍵的 Java 配置是這樣的Configuration EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myWebSocketHandler(), /ws) .addInterceptors(new HttpSessionHandshakeInterceptor()) .setAllowedOrigins(*); } }我踩過(guò)的坑主要是這類(lèi)setAllowedOrigins(*)在 Spring 6 / Boot 3 里如果你用的是allowedOriginPatterns而不是setAllowedOrigins通配符一定要用allowedOriginPatterns(*)才行否則跨域請(qǐng)求被攔。這個(gè)細(xì)節(jié)如果你不跑一次前端聯(lián)調(diào)根本發(fā)現(xiàn)不了。4.4 監(jiān)控到底怎么做Actuator 到 PrometheusSpring Boot 實(shí)現(xiàn)監(jiān)控都有哪些需求和功能也是熱門(mén)搜索話題。監(jiān)控的需求其實(shí)就五類(lèi)健康檢查、指標(biāo)采集、日志查看、鏈路追蹤、告警通知。Spring Boot 自帶的spring-boot-starter-actuator解決了前三類(lèi)的大部分。開(kāi)啟方式很簡(jiǎn)單加依賴(lài)然后配置暴露端點(diǎn)management: endpoints: web: exposure: include: health,info,metrics,prometheus endpoint: health: show-details: always/actuator/health會(huì)返回應(yīng)用是否存活/actuator/metrics會(huì)返回 JVM 內(nèi)存、線程、GC 等基礎(chǔ)指標(biāo)如果你再引入micrometer-registry-prometheus就能把指標(biāo)暴露成 Prometheus 格式配合 Grafana 做可視化面板。我實(shí)際項(xiàng)目的經(jīng)驗(yàn)是監(jiān)控光有指標(biāo)還不夠必須有告警。最省事的方案是 Prometheus Alertmanager對(duì)某個(gè)指標(biāo)比如 5 分鐘內(nèi)錯(cuò)誤率超過(guò)閾值觸發(fā)告警發(fā)到釘釘/企微。這類(lèi)需求 90% 的項(xiàng)目都用得上屬于性?xún)r(jià)比極高的基礎(chǔ)設(shè)施。5. Spring Cloud 與微服務(wù)生態(tài)從單體到分布式的那道坎5.1 微服務(wù)到底解決了什么問(wèn)題單體應(yīng)用不是洪水猛獸很多項(xiàng)目單體才是最合適的。但當(dāng)你的團(tuán)隊(duì)規(guī)模變大、模塊邊界模糊、部署頻率互相拖累就需要拆微服務(wù)。拆完之后會(huì)冒出一批新的問(wèn)題服務(wù)怎么互相發(fā)現(xiàn)配置怎么統(tǒng)一管理流量怎么入口控制故障怎么隔離熔斷怎么做鏈路怎么追蹤Spring Cloud 就是這套分布式問(wèn)題的解決方案集合。Spring Cloud 的幾個(gè)核心組件我按職責(zé)列一下服務(wù)注冊(cè)與發(fā)現(xiàn)Nacos / Eureka / Consul服務(wù)啟動(dòng)時(shí)把自己注冊(cè)上去調(diào)用方從注冊(cè)中心拿地址。配置中心Nacos Config / Spring Cloud Config配置不再放在本地而是統(tǒng)一管理、動(dòng)態(tài)刷新。網(wǎng)關(guān)Spring Cloud Gateway所有請(qǐng)求的入口做路由、鑒權(quán)、限流。熔斷降級(jí)Resilience4j / Sentinel防止一個(gè)服務(wù)故障拖垮整個(gè)鏈路。鏈路追蹤Micrometer Tracing Zipkin看清一次請(qǐng)求經(jīng)過(guò)了哪些服務(wù)、耗時(shí)多少。5.2 Spring Cloud Alibaba 的組件選型心得現(xiàn)在國(guó)內(nèi)做微服務(wù)基本繞不開(kāi) Spring Cloud Alibaba。它的核心組件選型我直接給結(jié)論場(chǎng)景推薦組件替代方案我的理由注冊(cè)中心/配置中心NacosConsul, EurekaNacos 同時(shí)支持注冊(cè)和配置運(yùn)維成本最低熔斷限流SentinelResilience4j, HystrixSentinel 控制臺(tái)可視化規(guī)則動(dòng)態(tài)下發(fā)做得好分布式事務(wù)Seata本地消息表, OutboxSeata AT 模式對(duì)業(yè)務(wù)侵入最小但性能有代價(jià)網(wǎng)關(guān)Spring Cloud GatewayZuul, ShenYu官方組件響應(yīng)式生態(tài)兼容最好用 Nacos 的時(shí)候有一個(gè)我在生產(chǎn)環(huán)境踩過(guò)的坑Nacos 的配置刷新是基于RefreshScope的不是所有 Bean 都會(huì)自動(dòng)刷新。比如你改了application.yml里某個(gè)自定義配置項(xiàng)如果承載它的 Bean 沒(méi)有加RefreshScopeNacos 那邊顯示發(fā)布成功但應(yīng)用里值還是舊的。排查這類(lèi)問(wèn)題花了我半天最后是給配置類(lèi)補(bǔ)了RefreshScope才解決。5.3 Python 應(yīng)用怎么融入 Spring Cloud Alibaba 體系熱搜里有python應(yīng)用融入spring cloud alibaba微服務(wù)體系這個(gè)問(wèn)題很有意思——很多團(tuán)隊(duì)是 Java 為主、Python 為輔算法服務(wù)、數(shù)據(jù)處理、爬蟲(chóng)但 Java 微服務(wù)體系的組件 Python 直接用不了。我的實(shí)踐經(jīng)驗(yàn)是分場(chǎng)景處理服務(wù)注冊(cè)發(fā)現(xiàn)Python 服務(wù)用nacos-sdk-python直接注冊(cè)到 NacosJava 側(cè)通過(guò) Nacos 拿到 Python 服務(wù)的實(shí)例地址用 HTTP 或 gRPC 調(diào)用。這是最輕量的融入方式。配置管理Python 服務(wù)用同樣的 SDK 監(jiān)聽(tīng) Nacos 配置實(shí)現(xiàn)配置熱更新和 Java 服務(wù)保持一致的配置來(lái)源。鏈路追蹤Python 側(cè)用 OpenTelemetry 的 Python SDK把 trace 數(shù)據(jù)推到和 Java 服務(wù)相同的 Collector這樣跨語(yǔ)言的調(diào)用鏈可以串起來(lái)。網(wǎng)關(guān)接入Spring Cloud Gateway 本身就可以根據(jù)Path路由到 Python 服務(wù)上Java 服務(wù)看不到對(duì)方是什么語(yǔ)言只看到一個(gè) HTTP endpoint。這套方案的收益是你可以保留 Python 在數(shù)據(jù)/AI 領(lǐng)域的優(yōu)勢(shì)同時(shí)復(fù)用 Nacos 的服務(wù)治理、配置中心、網(wǎng)關(guān)入口而不是在 Python 側(cè)另起一套注冊(cè)中心、兩套治理體系互相打架。5.4 一個(gè)普遍糾結(jié)的問(wèn)題給第三方提供的接口放哪Spring Boot 對(duì)外提供的接口給第三方應(yīng)該放在哪里是單獨(dú)的服務(wù)還是放在對(duì)應(yīng)的服務(wù)里——這個(gè)問(wèn)題我在知乎上看到過(guò)很多次我的結(jié)論是基于團(tuán)隊(duì)規(guī)模和接口穩(wěn)定性來(lái)定的接口與內(nèi)部接口耦合度低、且調(diào)用方來(lái)自外部建議拆成獨(dú)立的對(duì)外 API 服務(wù)。理由很簡(jiǎn)單外部接口的穩(wěn)定性要求、安全要求、限流策略和內(nèi)部系統(tǒng)完全不同混在一起會(huì)導(dǎo)致內(nèi)部發(fā)版時(shí)不得不考慮外部兼容性非常痛苦。接口與業(yè)務(wù)強(qiáng)相關(guān)、且團(tuán)隊(duì)規(guī)模小可以放在同一個(gè)服務(wù)里但必須單獨(dú)分模塊、單獨(dú)配鑒權(quán)和限流、單獨(dú)走一套版本號(hào)比如/open/v1/...。千萬(wàn)別和內(nèi)部接口混在同一 Controller 里沒(méi)有隔離。接口涉及多團(tuán)隊(duì)數(shù)據(jù)聚合強(qiáng)烈建議做一個(gè)聚合層BFF對(duì)外只暴露一個(gè)統(tǒng)一 API 網(wǎng)關(guān)內(nèi)部服務(wù)的變化不會(huì)直接影響外部調(diào)用方。一句話總結(jié)是否拆服務(wù)不取決于是不是第三方而取決于外部變更頻率和業(yè)務(wù)數(shù)據(jù)耦合度。6. Spring AIJava 生態(tài)接入大模型時(shí)代的新入口6.1 Spring AI 解決了什么問(wèn)題2025 年的 Spring 生態(tài)里最讓人興奮的新成員就是 Spring AI。它的目標(biāo)非常明確為 Java 開(kāi)發(fā)者提供一套統(tǒng)一的 API對(duì)接各種大語(yǔ)言模型LLM、向量數(shù)據(jù)庫(kù)、Embedding 模型和 Agent 框架。以前你想在 Java 項(xiàng)目里接入 OpenAI、通義千問(wèn)、文心一言得給每個(gè)廠商寫(xiě)一套 HTTP 調(diào)用代碼Spring AI 把這些抽象成了ChatClient、EmbeddingModel、VectorStore這些統(tǒng)一接口換模型廠商只需要換依賴(lài)和配置。它的核心抽象可以總結(jié)成一張表Spring AI 接口對(duì)應(yīng)能力常見(jiàn)實(shí)現(xiàn)ChatClient對(duì)話生成OpenAI, Qwen, DeepSeek 等EmbeddingModel向量化文本OpenAI Embedding, Qwen EmbeddingVectorStore向量數(shù)據(jù)庫(kù)存儲(chǔ)與檢索Redis, PGVector, MilvusChatMemory多輪對(duì)話記憶MessageWindowChatMemoryToolCalling函數(shù)調(diào)用/工具調(diào)用自定義Tool方法6.2 連接百煉 Qwen一次完整的集成過(guò)程熱搜里有spring ai 2.0 連接百煉 qwen3.7。得益于 Spring AI 的抽象接阿里云百煉平臺(tái)的大模型流程非常清爽。我以 Spring AI 當(dāng)前版本為例三步就能跑起來(lái)。第一步引入依賴(lài)以 Maven 為例dependency groupIdorg.springframework.ai/groupId artifactIdspring-ai-starter-model-tongyi/artifactId version1.0.0/version /dependency第二步配置密鑰spring: ai: tongyi: api-key: ${DASHSCOPE_API_KEY} chat: options: model: qwen-plus temperature: 0.7第三步注入ChatClient并調(diào)用Service public class QwenService { private final ChatClient chatClient; public QwenService(ChatClient.Builder builder) { this.chatClient builder.build(); } public String chat(String prompt) { return chatClient.call(prompt); } }從這幾十行代碼能看出來(lái)Spring AI 最大的價(jià)值是把模型接入變成了換配置的事。你今天用 Qwen明天想換 DeepSeek只需要換依賴(lài)、換 api-key、換 model 名業(yè)務(wù)代碼一行不用改。6.3 Spring AI Agent從對(duì)話到自主完成任務(wù)的跨越Spring AI 里目前最受關(guān)注的是 Agent智能體能力。Spring AI 實(shí)現(xiàn) Agent 的方式不是像 LangChain 那樣引入復(fù)雜的編排框架而是基于它自己的ToolCalling 機(jī)制模型在生成文本的過(guò)程中發(fā)現(xiàn)需要外部信息就輸出一個(gè)函數(shù)調(diào)用請(qǐng)求Spring AI 的框架負(fù)責(zé)執(zhí)行對(duì)應(yīng)的方法把結(jié)果回傳給模型模型再基于結(jié)果繼續(xù)生成。我給你展示一個(gè)我實(shí)際做過(guò)的工具定義——讓 AI 能自己查 MySQL 里的訂單數(shù)據(jù)Service public class OrderTools { private final JdbcTemplate jdbcTemplate; public OrderTools(JdbcTemplate jdbcTemplate) { this.jdbcTemplate jdbcTemplate; } Tool(description 根據(jù)用戶ID查詢(xún)最近訂單列表) public ListOrder getOrdersByUserId(ToolParam(description 用戶ID) Long userId) { return jdbcTemplate.query( select * from orders where user_id ? limit 10, new BeanPropertyRowMapper(Order.class), userId ); } }只要把這個(gè)OrderTools傳給ChatClient用戶說(shuō)幫我查一下 ID 為 1001 的用戶最近的訂單模型會(huì)自動(dòng)決定調(diào)用getOrdersByUserId這個(gè)方法并拿到真實(shí)數(shù)據(jù)組織成自然語(yǔ)言回答。我想強(qiáng)調(diào)一點(diǎn)Spring AI 做 Agent 的體驗(yàn)對(duì)這種熟悉 Java 生態(tài)、不想引入第二套技術(shù)棧的團(tuán)隊(duì)尤其友好。你現(xiàn)有的 Spring 服務(wù)就是天然的 Tool 庫(kù)一個(gè)Tool注解就能把一個(gè)已有服務(wù)能力暴露給 LLM。6.4 Dify 工作流與 Spring AI Java 代碼的聯(lián)動(dòng)熱搜里有dify工作流轉(zhuǎn)成spring ai java代碼github。Dify 是一個(gè)很流行的 LLM 應(yīng)用開(kāi)發(fā)平臺(tái)可視化編排工作流。很多團(tuán)隊(duì)先在 Dify 里搭好 prompt、知識(shí)庫(kù)、工具調(diào)用驗(yàn)證業(yè)務(wù)邏輯沒(méi)問(wèn)題然后面臨一個(gè)現(xiàn)實(shí)問(wèn)題生產(chǎn)環(huán)境要落到 Java 代碼里維護(hù)怎么辦。我的理解是Dify 的工作流本身很難一鍵翻譯成 Spring AI 代碼因?yàn)?Dify 是平臺(tái)級(jí)的編排引擎Spring AI 是代碼級(jí)的開(kāi)發(fā)框架兩者抽象層級(jí)不同。但你可以做一件事把 Dify 里驗(yàn)證好的工作流邏輯拆解成節(jié)點(diǎn)每個(gè)節(jié)點(diǎn)在 Spring AI 里用一個(gè)組件實(shí)現(xiàn)。例如 RAG 節(jié)點(diǎn)對(duì)應(yīng)VectorStoreEmbeddingModel工具節(jié)點(diǎn)對(duì)應(yīng)Tool方法LLM 節(jié)點(diǎn)對(duì)應(yīng)ChatClient。這種先在低代碼平臺(tái)驗(yàn)證、再在代碼框架固化的做法是我目前見(jiàn)到最務(wù)實(shí)的落地路徑。6.5 A2A Spring 是什么a2a spring這個(gè)熱詞我猜是 Agent-to-AgentA2A相關(guān)的新東西可能是阿里在 AI 智能體通信協(xié)議上的某個(gè) Spring 實(shí)現(xiàn)思路。這個(gè)方向目前還比較早期我沒(méi)有太多一手經(jīng)驗(yàn)可以分享建議保持關(guān)注就行——它大概率會(huì)像當(dāng)年的 Spring Cloud 一樣把智能體之間的互相對(duì)話和任務(wù)協(xié)作做成一整套標(biāo)準(zhǔn)化組件。核心思路一定會(huì)圍繞協(xié)議標(biāo)準(zhǔn)化、任務(wù)路由、安全認(rèn)證幾個(gè)維度展開(kāi)等生態(tài)成熟了我再單獨(dú)寫(xiě)一篇。7. 學(xué)習(xí)路線與面試高頻考點(diǎn)給新人的一張實(shí)用地圖7.1 我推薦的學(xué)習(xí)順序很多人學(xué) Spring 喜歡一上來(lái)就看源碼被AbstractApplicationContext.refresh()那一大坨直接勸退。我比較推薦下面這個(gè)順序每一步都配一個(gè)實(shí)操目標(biāo)先學(xué)會(huì)用一個(gè) Spring Boot 項(xiàng)目建工程、寫(xiě) Controller、連接數(shù)據(jù)庫(kù)、寫(xiě)一個(gè)增刪改查接口。目標(biāo)是建立框架幫我干活的感覺(jué)。再理解 Spring 核心機(jī)制看 IoC 容器、Bean 生命周期、AOP 的用法。目標(biāo)是理解 Bean 是怎么被管理的、AOP 是怎么生效的。然后動(dòng)手讀關(guān)鍵源碼讀BeanFactory、DefaultSingletonBeanRegistry的三級(jí)緩存實(shí)現(xiàn)、ProxyFactory。目標(biāo)是從會(huì)用到知道為什么。自己手寫(xiě)一個(gè)迷你版 Spring不需要完整實(shí)現(xiàn)只要把掃描 實(shí)例化 注入跑通就算成功。這一步對(duì)理解 IoC 的提升非常大。最后擴(kuò)展到生態(tài)Spring Boot 自動(dòng)配置 → Spring MVC 工作原理 → Spring Cloud 組件 → Spring AI。每一步都基于前一步的地基。7.2 面試中那些高級(jí)題到底在考什么結(jié)合熱搜里的spring面試題spring高級(jí)面試題我挑幾個(gè)高頻題目說(shuō)說(shuō)過(guò)關(guān)思路Spring 是如何解決循環(huán)依賴(lài)的別只背三級(jí)緩存。要講清楚每個(gè)緩存的作用、為什么需要三級(jí)、代理對(duì)象怎么處理、以及構(gòu)造器注入為什么無(wú)法解決循環(huán)依賴(lài)。Spring Bean 的生命周期從BeanDefinition解析開(kāi)始到實(shí)例化、屬性填充、BeanNameAware、BeanPostProcessor前置處理、InitializingBean、init-method、BeanPostProcessor后置處理、使用、銷(xiāo)毀。每一步能說(shuō)清觸發(fā)條件和實(shí)際場(chǎng)景。Transactional為什么失效常見(jiàn)原因方法非 public、同類(lèi)this調(diào)用、異常被 catch 吞掉、數(shù)據(jù)庫(kù)引擎不支持事務(wù)、傳播行為設(shè)置不對(duì)。這個(gè)題考察的是對(duì)代理機(jī)制的理解。Spring Boot 的自動(dòng)配置是怎么實(shí)現(xiàn)的講到ConditionalOnClass等條件注解、AutoConfiguration.imports、EnableAutoConfiguration就足夠。Spring Cloud 和 Dubbo 的區(qū)別重點(diǎn)說(shuō)清楚Spring Cloud 是全家桶、基于 HTTP/REST、適合異構(gòu)系統(tǒng)Dubbo 是 RPC 框架、基于 TCP、性能更高、適合 Java 對(duì)內(nèi)服務(wù)。7.3 關(guān)于 Spring Framework 版本下載的小提示熱搜里還有spring framework 5.3.41 下載。Spring Framework 的源碼和 jar 包都在 GitHub Releases 和 Maven Central 上不用單獨(dú)去官網(wǎng)找。如果你想看源碼最方便的方式是去 GitHub 上下載對(duì)應(yīng) tag 的源碼壓縮包然后用 IDEA 打開(kāi)如果你只是想在自己的項(xiàng)目里用某個(gè)版本直接改 Maven 依賴(lài)版本就可以。5.3.x 是目前仍然被廣泛使用的一個(gè)穩(wěn)定分支它是最后一個(gè)還默認(rèn)支持 JDK 8 的官方維護(hù)分支很多老項(xiàng)目升級(jí)到 Boot 2.7 時(shí)還會(huì)用到它。不過(guò)新項(xiàng)目我建議直接走 Spring Boot 3.x 配 JDK 17生態(tài)和安全性都更省心。7.4 一個(gè)真實(shí)項(xiàng)目的經(jīng)驗(yàn)從框架使用者到理解者我早期在項(xiàng)目里用 Spring Boot說(shuō)實(shí)話就是照著模板寫(xiě)代碼對(duì)原理的理解停留在面試題層面。真正讓我產(chǎn)生質(zhì)變的是一次線上事故排查——某天系統(tǒng)響應(yīng)突然變慢所有接口都卡查日志發(fā)現(xiàn)是一個(gè)Scheduled定時(shí)任務(wù)里調(diào)用了外部接口那個(gè)接口超時(shí)長(zhǎng)達(dá) 60 秒而定時(shí)任務(wù)默認(rèn)單線程把整個(gè)線程池卡死了。那天我翻源碼找到了Scheduled默認(rèn)的ThreadPoolTaskScheduler線程數(shù)只有 1才真正意識(shí)到框架替你做的選擇不一定是適合你業(yè)務(wù)的理解框架能讓你改得動(dòng)它。這種先踩坑再翻源碼的經(jīng)歷比任何教程都讓人成長(zhǎng)得快。所以我一直建議后端開(kāi)發(fā)者遇到奇怪問(wèn)題不要急著搜博客先打開(kāi) Spring 源碼跟著調(diào)用??匆槐楹芏嘁蓡?wèn)會(huì)在代碼里自然解開(kāi)。Spring 這片生態(tài)入門(mén)容易精通難但它最吸引人的地方在于——每一個(gè)設(shè)計(jì)決策背后都有真實(shí)的工程問(wèn)題。把這些問(wèn)題想透了你看到的不再是一堆注解和配置而是一套應(yīng)對(duì)企業(yè)級(jí)復(fù)雜度的方法論。希望這篇寫(xiě)得足夠接地氣能幫你在 Spring 這條路上走得更順一點(diǎn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色伊人91| 黑丝日韩av丝袜av| 97在线视频观看| 狠狠干狠狠干| 丝袜美腿亚洲| 亚洲做性| 蜜臀久久在线视频| 插入综合网| 熟妇xxxxx性春色| 亚洲天堂久久| 欧美大片天天看| www.超碰在线| 日本性爱欧美性爱| 啊啊啊在线观看| 色噜噜狠狠色综合日日| 亚洲精品无码久久AV| 97在线观| 欧美色91| 久久久精选| 116美女午夜| 亚洲一级性爱视频免费看| 欧中美三级一区二区三区| 偷窥自拍亚洲色图| 99热在线播放| 婷婷久久综合| 欧美一区二区亚洲天堂| 精品人体无圣光凹凸| 啊啊啊啊好爽好舒服一区二区易域| 免费看污网址| 97玖玖超碰| 欧美激情五月天| 久草免费福利在线播放| 国产精品久久久久久久无码AV| 亚洲色图自拍| 国产精品在线网站| 色大师网站www永久网站视频| www.av在线观看| 韩三级a视频在线观看| 欧美影音在线| 物业黑人 AV一区| 综合网久久| 动漫片子网站3黄| 女人被添高潮免费视频| 久久6热视频免费观看| 狠狠操官网| 精品午夜福利| 亚洲日韩在线a不卡99精品| av2014 日韩在线中文字幕| 欧美日动态视频| 国产精品制服丝袜中文字幕日韩一区二区三区 | 97伦综合| 狼人狠干| 96精品久久久久久久久久| 国产精品日日摸天天碰| 亚洲风情在线观看| 91丝袜美女视频| 日韩精品三级| 国产成人超碰在线| 岛国激情视频在线观看| 岛国片国产成人亚洲播放| 欧美性爱1080p| 丁香六月综合激情| 黄色欧美性爱视频| 久久婷婷五月天| 男人的天堂不卡一区二区 | 蜜臀久久久99久久久久 | 上床不卡网站| 超碰在线成人电影| 亚洲全色网| 欧美在线91| 欧美色欧美| 国产家庭乱伦性爱视频| 久久激情综合| 一本一道人妻久久一区二区三区 | 国产人妻精品一区二区三区秋霞 | 国内精品久9| 欧美综合网站999| 日韩人妻无码不卡网站| 久久永久无码人妻视频| 国产强奸乱伦xd| 强奸乱伦资源| 韩日精品四区| 99久久免费看精品国产一区| 亚洲欧美不卡线| 亚洲中字幕日本一区二区三区| 丝袜六区| 亚洲五区熟女| 夜夜欢天天干| 久久久亚洲欧美综合| 九九99久久| 欧亚乱色熟一区二区三四区| 伊人精品国产| 加勒比综合| 四虎午夜影院| 嗯嗯啊在线视频| 殴美综合色88| 久久的网站啊啊啊啊啊| 加勒比在线观看一区二区| 97资源久久| 日韩成人小视频| 久久久久久97| 久久精品中文字幕无码l| 99亚洲天堂| 久久久久久波多野吉衣高潮| 色97欧美| 91在线视频免费播放| 玖玖视频在线资源一区二区三区| 欧日韩在线观看| 四虎在线视频| 九九亚洲视频| 亚洲男人的天堂在线看| 91国模| 亚洲第一狼人丝袜美女另类| 国产高清1234区| 久久视频,这里只有精品| 影音先锋每日最新资源在线观看 | 人妻精品视频一区二区| 91欧美丨精品丨入口| 亚洲无992tv| 最新日韩黄片| 91五十路| 东北老女人的激情视频| 日韩精品资源专区二区| 色哟哟国产精品免费网址| 亚洲AV色图一区| 激情网色| 96国产污污污丝袜| 天天躁日日躁xxxxx| 色老汉色| 三级AV入口| 亚洲情色电影网| 综合五月天| 青青草天天亲夜夜操网| nuu12国产麻豆精品| 日韩性爱人人爱人人操| 小骚逼被操的爽不爽| 国产91会所女技师在线观看| 精品久久99| 久久久久99999| 91总综合网| 国产精品96| 999久久久精品国产| 日本 情色 1区| 激情五月天网站| 亚洲 欧美综合| 国产精选三级在线观看| 男人天堂毛片| 97人肏| 国产老太乱伦一区| 99re8免费高清在线| 曰韩人妻中文字幕在线| 麻豆伊人网| 女沟厕偷窥piss小便| 伊人久久亚洲中文字幕| 蜜乳AV.COM| 中文字幕女同在线| 女人双腿搬开让男人桶| 91美女小视频| 欧美日韩人妻婷婷一区| 99色色网| 2019精品国产无码成人| 久久人妻无码毛片A片麻豆| 操逼操逼逼操操逼91| 蜜臀在线看片| 97干com| 国产乱码精品一区二区三区四川| 九久精品| 死我十八禁| 国产精品九9| 青娱乐国产剧情av一区| 日本久久久久久久久久| 欧美最婬乱婬爆婬性视频 | 91无摭挡| 理论久久婷婷网 8| av日韩在线观看电影| 欧美97色| 精品人妻丰满熟妇一区二区三| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 蜜桃色院一区久久 | 少妇色综合| 亚洲欧洲偷拍一区| 欧美激情综合| 亚洲精品亚洲人成在线麻豆| 福利视频香蕉免费一区二区在线| 亚洲 中文 欧美 日韩 在线 | 清清一区二区三区四区不卡视频| 强歼乱伦资源网| 婷婷婷婷婷婷久久久久| 视频二区美腿制服人妻欧美| 九九九九九九免费视频| 国产丝袜一区二区三区| 欧美亚洲综合999| 91女网站| 欧美永久激情一区二区| 婷婷色香| 中文字幕在线观看AV| 久久婷婷精品| 中文字幕第页| 蜜臀亚洲中文| 成人老鸭窝人人在线视频| 6080yy午夜理论三级一区二区三区无码| aaaa少妇高潮大片| 特级毛片特黄久久免费看| 大香蕉乱级| 欧美第一页| 国产女人视频三四五区| 欧美成人性爱视频在线播放| 91久久久亚洲| CCYY草草影院地址入口| www.av家庭乱伦| 97国产人人| 蜜臀中文字幕| 色图综合网| 一区二区三区看视频| 97色操| 精品久久97| 麻豆一区二区三区在线看| 91 国产丝袜在线播放-百度| 亚洲一区制服诱惑| 9九九国产| 中文字幕成人乱码熟女精品国50| 我要去看2个日本美女.com曹逼| 欧美亚洲综合高清在线| 99无码狠狠久久| 亚洲成人黄色在线观看| 欧美日韩另类在线播放| 久久久久久久人妻| 97色爱| 日日黄色三级网站| 精品成人女人久久| 大香蕉性欧美| 蜜桃狠狠色伊人亚洲综合网站| 肏逼视频日本| 中文字幕中文字幕一区二区| 欧亚免费视频| 日韩啪啪啪啪啪| 97网址www| 天天看高清麻豆| 天天视频网站黄| 久久五月天婷婷丁香中文字幕| 人人操人人插人人摸人人干| 色色色色综合网| 理论久久婷婷网 8| 曰韩香蕉97| 老鸭窝成人| 91色综合| 一区二区三区精品视频| 国产白领连续中出在线观看| 男人的天堂日韩| 超碰九7| 国产成人一级av88| 青青草原人妻| 成人开心网在线视频| 91老女人| 一起草精品人妻| 婷婷色一区| 97精品97久久| 国产精品视频内谢女人| 国产男女无套视频免费观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 综合性视频99| 精品久久无码午夜福利| 久久人妻视频网| 色男人色天堂东京热| 精品九区| 欧美成人性爱视频大全| 亚洲色图 图片| 男人的天堂一区| 免费啪啪一级视频| 亚洲色性情三级| 91亚洲影视| 日韩人妻 中文字幕| 99热超碰| 不卡视频一区蜜桃视频| 五月婷婷色| 亚洲素人网| 波多野42部激情无码喷潮| 丁香五月社区| 久久久啊啊啊| 色综合网1| 青女在线| 成人性爱AV在线免费观看| 人妻激情偷乱视频一区二区三区 | 98福利在线视频| 日韩性爱免费观看视频| 中文字幕视频在线观看一区二区| 亚洲中文字幕av| 亚欧日韩成人| 国产视频第2页| 大屁股人妻女教师撅着屁股| 国产精品91ai| 在线观看成人性爱免费小视频| 九九热免费国产视频婷婷伊人五月| av橘色网站| wwwcaobibi| 九七毛片九九毛片| 亚洲黄色a级片| 天天日美女的B| av一区二区三区四区| 国产性感骚丝袜在线| 中国人高清www色视频免费| 中文字幕成人| 黑人综合网| 男人天堂.AB| 国产精品片| 区日韩亚洲乱码av电影| 女欧美一区二三区| 久久久九九| 国产一区二区三区精品观看啪| 91精品又粗又猛又爽| 日韩一级二级在线| 夜草网站| 大香蕉92| 美女刺激久久国产欧美| TS人妖另类精品视频系列| 亚洲国产剧情少妇激情| 乱欲一区二区| 日本不卡在线二区三区| 91在线免费观看处女| 婷婷av在线中文字幕| 超碰天天操| 影音先锋中文字幕日本好一区二区| 四虎影视永久在线观看精品免费网站| 狠狠狠狠狠| 插入逼91| 一本色道久久综合狠狠操| 天天日天天插| 精品久久久久久AV无码| 在线色资源| 99青草| 午夜福利激情在线视频| 欧美久久人体| 青青草视频久久久久| 色色福利| 极品销魂美女一区二区 | 视频一区二区三区精品| 色天使AV天堂| 天天综合网91入口| 中文字幕永久在线| 国产精品久久久久亚洲av| 日日夜夜骑| 亚洲淫色网中文| 日韩啪啪网| 性暴力欧美猛交在线直播| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 加勒比综合网| 四虎在线视频| 爱妻综合网| 人妻加勒比东京热| 女同性恋久久| 久久亚州精品成人Av无| 无码人妻精品酒店| 国产丝袜一区二区三区| 乱久久久| 97激情97激情| 亚洲天堂性爱| 久热无码| 亚洲激情在线| 婬女免费一二三区A片| 人人模人人看| 亚洲另类春色| 97久久久久| 精品国产久久乱码| 天天插夜夜爽| 国产精品久久发布| 欧美三级一级| 婷婷综合视频| 91黑丝露脚| 日本午夜久久电影| 色综合久| 91天堂视频| 中文字幕 av v| 丁香五月自拍| 日本久久精品| 高清国产av无码| 男人a天堂手机在线版| 日韩高清黄片| 91亚洲色人| 不卡av免费在线网址| 青草精品视频日本久久久久网站在线| 久久老熟女| 91精品国| AV中文字幕三四五| 国产精品不卡少妇白| 一区二区三区一亚洲中文字幕、综合区灬| 亚洲欧美天| 欧美瑟综合| 麻豆一区二区AV天美| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | AV九九| 色综合色色| 99在线精品观看99| 亚洲.欧美.丝袜.中文.综合| 中文字幕艹艹| caopeng97人妻| 亚洲天堂自拍| 亚洲日韩XXX| 欧亚韩国999| 本道在线| 一区二区三区麻豆| 欧美操人视频| 成人三一级一片aaa| ..日韩av毛片精品久久久| 神马久久久久久伦理片| 天天干人妇| 五月天激情小说网| 高树玛利亚无码流出| 中文字幕亚洲欧美在线不卡| 日韩精品电影| 久久久精品,3| 成人小说另类在线| 国产午夜激片Av毛片不卡| 欧美疯狂做爰xxxx| 玖玖爱综合| 日韩人妻丝袜美腿中文| 人妻天堂三区| 国产亚洲精品无码三区| 亚洲操人| 国产不卡中文字幕免费avi| 97精品97久久| 测评在线观看AV| a天堂视频| 99热66| 天天澡天天爽日日av| 日本熟妇自慰性高潮一区二区三区| 男人天堂2019| 殴美在线AⅤ| 天美传媒国产原创中文字幕亚洲欧美另类 | 日韩欧美大力操| 久久久久9| 97日视频| 小说区 图片区色 综合区| 不卡一区二区日本视频| 男人的天堂在线有码| 91丝袜在线视频| 91丝袜美女视频| 国产欧美一级在线观看| 高潮内射在线| 5252色欧美在线男人的天堂| 中文字幕一区二区三区字幕| 粉嫩国产精品久久粉嫩| 久久久久久九九九九九九| 人妻色偷色噜| 色妹子A V| 精品国产乱码久久久久久日本公司| 免费AV中文网在线观看| 成人午夜视频免费播放| 久久一本大香蕉| 久久精品一区二区三区四区五区| 久久婷婷精品| 美女网站黄页| 综合免费无码中文| 青青草字幕AV| 97人人夜夜精品视频| 男人的天堂2010| 91精品91久久久久77777| 精品国产91av一区二区三区 | 97欧美视频| 中文字幕一区二区三区视频播放| 精品久久九| 久久双插| 亚洲情色一区三区| 激情 欧美 亚洲 小说| 久久久久精| 亚洲色人阁| 激情综合五月| 久操国产在线| 日日狠狠久久偷偷色综合免费| 亚洲中文字幕一区| 乱伦日本色图AⅤ| 亚洲s色图| 中日韩久久久| 乱操9999| 婷婷久热| 久久二| 屌色在线97视频| 国产熟女无套内射| 精品国产自在在线99| 亚洲色图 欧美| 北京专精特新企业招聘信息| 另类亚洲一区二区三区| 综合五月婷婷亚洲一区| 狠狠91| 蜜臀久久99精品久久久| 人人九九精| 91精品国产91久久福利| 18禁久极品美女久久哦哟呀!| 日韩性爱啪啪视频| 精品十三区| 日韩熟女操逼| 国产视频大全| 99热只有这里有精品| 亚洲区限制级 99| a天堂视频| 97欧美色综合| 丁香六月激情综合| 男人的天堂网页| 久妇网| A 天堂| 玖玖爱一区在线| 人妻少妇被猛烈进入中| 女上位精品在线| 九九碰九九爱97| dy888午夜老子影视达达兔| 人妻在线臀日韩| 国内毛片婷婷六月色| 亚洲交换| 内射日韩大臀美女| 国产操偷| 最新亚洲黄色免费电影 | 五月天婷婷影院| 水多多映视AV| 操老熟女AV| 久久久爆乳翘臀一线天伦理视频| 亚洲欧洲日本精品中文a∨| 福利一级版子| 午夜天堂精品久久久久91| 少妇熟女1区2区3区| 成人黄页| 久久久99久9| 国产精品探花视频| 免费人成毛片乱码| 色色青青久久| 在线视频一区二区传媒| 欧美顶级黄片AAAAA在线免费看| 久久内射| 插入粉嫩少妇视频| 91在线视频免费中出| 最新啪啪视频| 亚洲精品自拍| 天天干18禁| 日韩美女高潮喷水视频| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久伦理视频久久大香蕉视频| 凹凸视频特色日本特黄| www亚洲免费| 狠日欧美| 暴力av在线| 久草在| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 亚洲精品黄码久久久久| 久久亚码| 好看的91视频| 台湾佬激情综合| 91精品久久综合熟女| 欧 美 自 拍 偷 拍| 国产久久久| 国产激情在线| 床戏久久久av一区二区麻豆| 久久精品视| 蜜臀99久久| 无码人妻一区二区三区四区老鸭窝| 是还免费视频1727我| 精品射1999| 超碰激情808| 超碰 97国产熟女| 婷婷在线播放| 欧美后进式| 日本狠狠干| 国产97色在线| 狠狠爱综合网| 日韩精品区二区三区不卡| 91九色网| 人妻久久久久久| 99亚亚热| 观看视频图片一区二区三区| 亚洲人在线| 精产国品一区二三产品| 操B久久| 国产精品久久久久久久久久久久久久久久久久 | 久久天天艹| ji熟女.com| 欧美另类精品xxxx| 国产女性无套 免费观看| 国产18精品亚洲精品| 精品一区二区亚洲国产| 9 9精品一区二区三区| 任你艹| 色妺妺在线视频| 国产超碰国产97| 夜夜狼人妻| 久草草一二三四区久久| 激情文学亚洲| 亲子敌伦对白在线播放| 欧洲欧美视频一区二区| 欧亚性爱视频免费看| 日韩成人电影AV| 欧美色偷拍 | 欧美天天影院| 搡老女人老91妇女老熟女| 欧美真人抽搐一进一出gif | 美女上床网站| 中文字幕三四区| 大学生口爆吞精| 十八禁视频网站| 91蜜臀在线久久久久| 老司机久久| 久久这里只精品| 婷婷伊人五月| 精品国产www久久| 七久久久| 中文字幕精品亚洲熟女| 国产精品96| 国产成人无码啪| 午夜精品一区二区三区三上悠亚| 神马久久中文字幕| 欧美春色| 操逼啊啊啊91| www鬼畜国产男人的天堂| 97爱b| 色欧美亚洲| 国产极品美女高潮无套在线观看 | 精品少妇99| 自怕偷自怕亚洲精品| 开心激情婷婷| 国产后入清纯| 精品国产乱码| 亚洲夜色在线| 另类图片五月天| 久久综合18p| 天天干夜夜肏| 99久久精品欧美国产| 97人人射| 久欲AV| 欧美精品一区二区少妇免费A片| 91精品黄在线观看| 欧美在线 亚洲| 国产美女在线精品免费看| 日韩午夜啪啪视频| 九九九久久久久| 亚洲欧美日韩免费观看| 97色色网| 蜜臀99久久国产| 岛国黄色大片网站| 欧美亚洲成人在线一区二区三区| 人妻一区二区三区四区视频| 91无码中出人妻视频| 亚洲精品 欧美97色色| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 亚州欧美色图| 99热这里都是精品| 久久9精品| www.色婷婷| 天天夜夜rb| 久久久精品国产亚洲AV无码| 国产吹潮女在线观看| 日韩人妻播放| 另类欧美| 天堂种子在线www网资源| 国产精品高朝久久久久久久| 亚州操逼图| 岛国不卡超碰护士AV在线播放| 翔田千里无码中出中文字幕| 操b网站亚洲无码| 欧美区亚洲区偷拍区| 久久免费看高潮毛片韩国| 国产精品精品系列在线观看| 人妻精品综合中文字幕在线| 中文字幕在线免费观看2| 大香蕉欧美伊| 日本日逼高清| 亭亭在线资源| 无套内射性感少妇视频| 蜜臀Av一区二区三区| av大香蕉| 国产精品又黄又猛又粗| 91处女视频在线观看| 亚洲av综合色| 午夜福利 成人 91| 日本超碰在线国产一区| 成人一二| 午夜AV污污污| AV九九| 91精品人妻偷情| 黑人与人妻| 囯产乱伦一区二区三女| 天天日夜干| 亚洲棕合电彰| 高清无码 国产精品| 91白虎| 少妇毛片久久| 国产尤物AV尤物在线观看不卡| 久久亚洲日韩熟女精品| 久操黄色视频| 国产最新小视频在线播放下载| 亚洲蜜臀视频精品久久| 艹我哪美一区无码| 在线观看无码三级少妇| 日本一二三免费久久| 国产极品馒头逼| 97超碰热线| 性做久久久久久免费观看软件| 欧州91高潮| 情色五月天网| 色嘟嘟人妻天堂网| 国产传媒操逼视频| 麻豆成人影音在线| 青青伊人久久| 久久综合九九| 欧美的性爱网站免费| 欧美色97| 超碰97色色| 久久婷婷五月天| 手机在线免费看的av| 9久9久| 99re9这里只有精品| 成片免费播放| 欧美偷拍区| 色网色网色网色网色网色| 97精品视频网站| 久久本道| 欧美日韩中文亚洲v在线综合| aaa亚无码专区| 日本三级日本三级三级人妇四虎| 久久久久亚洲?V片无码V| 97这里只有精品| 超碰98综合网| 青青操在线亚洲视频观看欧美在线| 69精品久久久久中文字幕| 无码精品久久| 78超碰| 安微少妇操BBB| 成人色女网| 人人喜人人妻| 五月天婷婷基地| 91精品伊人久久久大香线蕉91| 私人尤物在线精品不卡| 国产精品视屏| 欧美综合综合| 欧美91网| 欧美亚洲清纯| 九九九九一级| 亚洲揄拍网| 天天看特黄的免费网站| 青青网三级视频| 超碰国产在线| 人妻激情偷乱视频一区二区三区| 欧亚在线视频| A 天堂在线观看视频| 亚洲αv一区二区三区| av亚欧| 91狠狠综| 97超碰9| 久久高潮妇女视频| 丝袜足交视频| 97超碰色情| 97在线免费视频| 青草成人免费视频一COm| 91天天综合日韩欧美| 日韩欧美久久婷婷网站| 东方亚洲在线操逼天堂| 蜜臀av网址| 国产后入清纯| 欧美日本不卡在线| 肥佬影院91| 91色花堂| 97网站在线观看| 久久久啊啊啊| 日本精品五区| 欧美人与动性人交a| 久久精品午夜国产亚洲AV无码| 国产成人亚洲精品无| 韩日色费| 啪啪免费| 亚洲精品亚洲人成人网| 91色情黑丝搞鸡在线观看一区二区三区三州| 国产亚洲99久久精品| 欧美亚洲日韩人妻在线观看| 人妻天天爽夜夜爽爽| 99re不伦| 日日嗷| 农村妇女精品一二区| 很很操在线| 人人贴人人摸| 亚洲啪啪性视频| 男人的天堂不卡一区二区 | 婷婷久草| 热热色中文无码| 国产精品麻豆免费视频| 刺激精品视频| 91在线国产后入风骚翘臀美女素人| 毛片99-全集电影手机免费观看完整-B029AV | 天天干夜夜肏| 中文字幕黄色一起草| 午夜亚洲WWW湿好大| 亚洲精品xxx| 日韩AV一区二区三区四四| 男人天堂站| 加勒比av网| 成人怡红院| 大香蕉一线视频| 裸体美女免费看网站青草| 超碰97最新人妻| 欧美图片校园春色| 日韩欧洲操屄视频| 99激情| 好舒服视频| 大香蕉伊人网| 少妇高潮对白在线观看| 亚洲色欲一区二区三区| 久久超碰av在线| 一级片视频啪啪| 欧美精品自慰系列寂寞少妇| 久操 高清| 香蕉精品二区二区| 强奸乱伦大香蕉| 美女露胸露奶头| 丰满欧美放荡少妇在线| 狠狠操夜夜| 啊啊啊不要好疼视频| 亚州精品人妻一二三区| 亚洲黄色视频在线观看视频| 婷婷久草一区二区三区| 99热日| 日韩美女啪啪一区| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 搡老女人911熟妇老熟女| 国产树林里野战在线看| 欧亚久久偷拍视频| 欧美黄业| 丁香五月性爱| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | av草草在线电影| 国产精品午夜福利亚洲综合网| 99无码| 久久久性少妇| 国产亚洲色婷婷久久99精品91葵花宝典| 色一射色一射| 狠狠91| 欧美日韩国产在线| 91老司机在线| 99久在线精品99re8热| 综合天天。| 大香蕉一线视频| av线电影| 久久精品国产亚洲AV先锋| 久久婷婷五月综合| 丰满搜索结果 -第18页- 久久高清无码| 日日不卡av| 国产超碰| 91宗合网| 操逼视频免费日韩无码| 精品无码产区一区二| 国产亚州高清国产拍精| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 国产亚洲精品玖玖玖在线观看| 色香在线| 黄片视频,下载| 欧美国产有色电影| 国产美女裸体秘 永久无遮挡| 国产91精品久久久久久久网曝门| 日韩电影在线观看网址| 欧美激情视频一区二区三区不卡| 日韩猛交| 欧美最婬乱婬爆婬性视频| 中文字幕1区2区| 日本午夜福利影院| 日韩超碰97| 亚洲天堂人妻一区二区| 淮穴色AV| 视频国产成人精品日本亚洲18| 富二代亚洲精品99| 人妻一区二区三区视频 | 欧美日韩在线小说 | #NAME?| av天天在线观看| 五十路一区无码| 99热亚洲天堂| 欧美,日韩综合久久| 人妻少妇久久中文| 亚洲国产第一页综合视频| 国产白丝av| 色超碰综合| 日韩激情电影中文字幕| 亚洲啪啪啪啪视香蕉| 久久女人一区二区三区| av毛片aaaaa免费看| 亚州色图片在线色| 综合网色| 中国少妇XXXX做受| 日韩电影免费网站麻豆视频| 黄页大片在线观看| 无码操逼网| 91久久国产精品| 草伊人高潮喷水超碰| 亚洲 一区二区 自拍| 九九九九九九视频免费| 东北老女人的激情视频| 成年女人18级毛片毛片免费观看| 国产精品爆乳懂色蜜乳| 欧美精品三区| 18一区二区三区| 久久一区二区高清免费| 黑人综合网| 精品久一区免费| 免费一级欧美片片线观看| 91福利网在线观看| 视频在线97| 欧美日韩国产电影| 婷婷啪啪| 午夜福利视频在线一区| 天天看天天干| AV中文字幕三四五| 国产一区二区三区久久精品太古里| 91在线无码精品秘 软件| 欧美人人曰人人操人人射射| 久久大陆| 免费农村成人少妇人妻Aa一区二区视频 | 天堂中文资源在线bt| 欧亚日韩中文在线| 亚洲色图 91| 九九综合网| 国产精品国产自产拍高清AV| 婷婷六月色| 你想操日本小逼吗| 国产精品嫩草影院午夜两性| 亚洲色图欧美色18直播在线| 中文字幕78| 啊啊啊啊啊在线视频| 激情婷婷| 国模吧 一区二区三区| 超碰在线人人射| 91天天综合日韩欧美| 精品国产a∨一区天美传媒| 久久综合av| 国产精品视频在线播放 | 加勒比在线视频一区二区三区| 人人操人人干xxx| 97视频在线免费观看| 欧美色图亚洲色| 欧美日韩传媒| 唯美清纯 妖精视频| 六月婷婷一区二区三区| 久久久久9久久久久| 啊好大好舒服| 激情婷婷| 超碰三级秋霞| 日本天天吊| 婷婷六月色| 亚洲色图超碰在线| 丁香五月激情综合| 极品色社| 1956日韩精品| 欧美色偷拍 | 岛国黄色短视频| 巨爆乳一区二区爆乳区| 做爱A级亚欧| 欧美成人一级免费电影| h无码动漫在线观看| 特级毛片特黄久久免费看| 一级特黄aaa大片在线观看成人一级片在线观看 | 狠狠操狠狠插| 91在线色综合| 精品少妇一区二区三区免费观看| 97亚洲一区| 啊啊啊啊操死我了| 亚洲高清男人天堂| 超碰这里有精品| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 日韩人妻丝袜美腿中文| 久久久免费懂色| 蜜臀99久久精品久久久久久| 少妇激情一区二区三区视频| 91九色丨风韵犹存| 极品销魂美女一区二区| 大黄片做爱的大的| 校园春色中文字幕AV| 亚洲人综合| 久久久久国产精品人妻aⅴ天堂| 国内外激情在线| 1769成人国产精品视频| 欧美一级美片在线观看免费| 福利视频一区二区微拍| 岛国成人av在线播放网址| 在线观看一卡二卡| 日韩精品9999| 久操| 亚洲中字幕日本一区二区三区| 久久久久久69国产一区二区| 女人喷水视频在线观看| 看看小穴| 欧美色图中文字幕| 密臀视频一区二区三区| 国内外毛片在线观看| 一本久道久久综合狠狠爱一密臀精| 日产操逼| 日本国产成人亚洲精品无码| 综合网久久| 少妇人妻在线| 9色国产精品一区粉嫩| www.人人cao| 中文字幕一二三区| 日韩无码服务区| 久久天天艹| 午夜天堂啪啪| 91美女在线视频| 精品无av| 国产高清26uuu| 天天狠| 国产99999久久精品| 91肉片| 亚洲日韩精品在线播放| 欧美熟妇精品黑人巨大一二三区| 熟妇无码视频三区| 国产综合在线视频网站| 国产超碰| 丝袜美女诱惑 91 视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 欧美高清18A片| 四色永久成人网站| 老汉网| 少妇熟女1区2区3区| 欧美色图天堂在线| 日本孕妇孕交| 超碰免费97| 色婷婷丁香| 人妻美腿丝袜日韩| 日逼97| 3p国产欧美99热| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲av综合色| 一区二区三区男女操逼黄色小电影| 黄久久| 人人操人人叉人人插人人| 夜夜骑天天燥| 麻豆国产97在线| 日韩亚洲美州欧洲综三区一品在线| 久区视频| 日韩精品亚洲专区在线影视| 男人天堂综合| 亚洲四虎熟女精品| 亚洲美女精品| 九九九免费视频| 九九色婷婷| 日日干日日摸| 色五月综合网| 18精品一二区| 久久99综合| 人人操 欧美| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 国产精品久久久无码aV去| 成人精品电影| 久久久天堂| 收看日本人日bb| 中文字幕视频2区| 老鸭窝在线视频播放| 五月婷婷丁香中文字幕| 亚洲素人综合| 99视频内射三四| 亚洲中文sv| www.99热| 69精品| 一道本久久棕合爱| 国产又粗又大硬免费色网视频| 超碰公开久久网| 国产女人视频三四五区| 伊人青青一区成人视频在线观看区| 99热伊人| 97资源站国产精品| 五月丁香影院| 欧美天天弄| 天天干天天日天天射黄色| 十八禁啪啪视频| 磁力99AV| xxx0国产在线播放| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 国产一区在线看| 久操B网| 91碰超| 男女性扦B| 99国产人成精品| 91精品久久久久五月天精品| 欧美色图人妻| 动漫爆乳3D奶水一区在线观看| 蜜臀在线网站| 99精品丰满人妻无| 在线A日本| 大香蕉日韩欧美| 日韩国产品视频中文字| 国产51色综合久久免费| 国产AV线| 蜜桃久久久久久久| 69精品久久久久中文字幕| 中字一区| 激情婷婷丁香| 久草国产在线视频| 97在线观| 亚洲色图国产另类| 激情六月天| 国产精品嫩草久久久久| 蜜臀va69| 色天堂综合| 亚洲精品色| 午夜视频久久久久一区| 麻豆一区二区三区在线看| 中文字日本乱码| 亚洲 欧美 手机在线观看| 亲子敌伦对白在线播放| 久久偷偷色综合蜜桃| 69精品久久久久中文字幕| 麻豆三极片| 欧美色吧综合| 久久久久网站-538在线视频-欧美永久乱码 | 97视频免费在线观看| 精品人妻一二三四区视频| 艹我哪美一区无码| 懂色AV蜜臀无码精品APP| 国产主播福利| 免费视频97| 九九九九免费高| 亚洲瓯美色图| 精品久久一区二区三区四区五区| 精品人妻1区| 亚洲欧美综合| 精品美女少妇一区二区| 国产青视频| 国产suv精品一区二区四| 色综合色综合网| www国产无码| 密臀视频三区免费网站| 天天日天天干天天操| 久久亚洲AV无码白度| 亚洲欧洲日韩中文字幕一区| 91天天爱| 国产专区路线| 亚洲欧洲综合视频在线| 无码天天操| 亚洲欧洲中文日韩女优乱码| 97chaopengongkai| 97在线观看视频| 亚洲图片偷拍欧美| 久久爽爽精品| 97精品久久久久久久| 久久精品亚洲东京热色播| 六六久久日韩不卡| 亚洲偷拍自拍在线视频| av在线一区二区三区| 草莓精品视频在线免费观看| 中欧人妻丝袜中文字幕| 欧美色图欧美| 撸无码不卡免费视频| 330dv亚洲成年视频网| 青青草久久一区网| 一区 欧美 日韩 麻豆| 麻豆久久久久久久久丝袜| 久久人妻视频网| 久久亚洲影院一区二区| 亚洲色图超碰在线| 婷婷99| 女人爽到高潮潮喷18禁网站| 每日更新AV| 热九九精品| 国产免费永久精品无码| 久久精彩视频| 欧美性猛交美女自慰91| 99re6久热只有精品6在线直播| 欧美夜夜狠| 欧洲免费一区二| 久久伊人青青草|