3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring发展历程总结

發布時間:2023/12/20 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring发展历程总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

轉自與??https://www.cnblogs.com/RunForLove/p/4641672.html

目前很多公司的架構,從Struts2遷移到了SpringMVC。你有想過為什么不使用Servlet+JSP來構建Java web項目,而是采用SpringMVC呢?

既然這樣,我們從源頭說起。Struts2的源頭其實也是Servlet。Servlet的作用是接收瀏覽器傳給服務端的請求(request),并將服務端處理完的響應(response)返回給用戶的瀏覽器,瀏覽器和服務端之間通過http協議進行溝通,其過程是瀏覽器根據用戶的選擇將相關信息按http協議報文的規范組裝請求的http報文,報文通過網絡傳輸到指定的服務器,服務器通過特定的web容器接收這個報文信息,例如:tomcat,jetty,jboss這樣的web容器,web容器會將http報文解析出來,如果是用戶請求,最終解析出來的報文信息會用一個request對象存儲起來,服務端使用這個request做完相應的處理后,服務端程序將結果信息封裝到response對象里,然后將response對象交給web容器,web容器則把這個response對象轉變為http協議的報文,并將報文回傳給瀏覽器,瀏覽器最后解析這個響應報文,將最終結果展示給用戶。

  Web容器創造了servlet接口,servlet接口就是開發人員自己實現業務邏輯的地方,程序員開發servlet就好比做填空題,而填空題的語境或者說上下文提示就是由request和response對象,但是javaEE規范里的servlet接口很簡單,就三個方法init,service和destory,但是這個接口太籠統,所以規范里還提供了一個HttpServlet類,這個類根據http請求類型提供了doGet,doPost等方法,servlet接口最大的特點就是根據http協議的特點進行定義,因此做servlet開發時候如果使用者對http協議特點不是特別熟悉,都會碰到或多或少令人迷惑的問題,特別是碰到一些復雜特殊的請求時候:例如文件上傳,返回特殊的文件格式到瀏覽器,這時候使用servlet開發就不是很方便了,servlet開發還有個問題可能大家常常被忽視,就是請求的數據的類型轉化,http協議傳輸都是文本形式,到了web容器解析后也是文本類型,如果碰到貨幣,數字,日期這樣的類型需要我們根據實際情況進行轉化,如果頁面傳送的信息非常多,我們就不得不做大量類型轉化,這種工作沒有什么技術含量,是個體力活而且很容易導致程序錯誤。同時java的企業開發都是圍繞javabean進行,類型轉化好的數據還要封裝到對應的javabean里,這種轉來轉去的事情對于項目開發絕對不是什么好事情,所以古老的struts1為這種問題找到了一種解決方案,就是定義了一個DTO對象(數據傳輸對象),專門負責做這樣的事情,不過到了struts2,整個替代servlet的action本身就是一個javabean。

  Java的企業開發一個技術特點就是使用javabean進行的,struts2的特點之一就是它替代servlet的操作類就是一個典型的javabean,首先struts2框架將頁面傳輸的數據進行類型轉化和封裝后將請求信息封裝到了這個javabean的屬性里,這樣我們開發web程序時候就省去了煩心的類型轉化和封裝的問題,前面我講到傳統的servlet是根據http協議進行定義的,它會按你請求方式(post還是get方式)來處理用戶的請求,但是對于一名程序開發人員而言,一個請求,具體到一個url,其實對于服務端而言就是服務端對外提供的一個功能,或者說是服務端對外的一個動作,如果我們使用servlet開發程序我們就得把http的動作轉化為具體的業務動作,這就讓程序開發變得繁瑣,增強了開發的難度,所以struts2替代servlet的javabean就屏蔽了servlet里http的請求方式和具體業務動作轉化的問題,javabean里的每一個方法都可以和每一個url請求一一對應,這必然減輕了開發的難度問題。

  Servlet另一個作用就是構造response對象,讓頁面獲得正確的響應,其實現代的瀏覽器是一個多媒體工具,文字,圖片,視屏等等東西都可以在瀏覽器里顯示,資源的不同就會導致http響應報文的差別,如果我們使用servlet開發就要根據資源的不同在java程序里用硬編碼的形式處理,這樣的程序很難復用,而且如果程序員對某種資源的處理理解不到位,就會導致問題的出現,struts2通過配置文件的形式將這樣的邏輯從java程序里剝離出來,使用配置的方式進行統一管理,這個做法和spring的AOP方式類似,這樣就讓結果處理方式更加統一,更加利于管理,同時也提升了程序的健壯性以及降低了開發的難度。

  Servlet在MVC開發模式里就是其中C層即控制層,控制層就像俄羅斯的雙頭鷹(一個頭向東看一個頭向西看)一樣,一個頭向M層模型層看,一個頭向V層視圖層看,模型層也是用java編寫的,控制層也屬于服務端語言開發,所以M層和C層的溝通沒有天然的障礙,但是和V層視圖層就不一樣了,這是一個跨語言的溝通,對于瀏覽器,它只懂得html,javascript和css,瀏覽器是理解不了java這種語言的東西,但是要讓服務端的東西能被瀏覽器理解接受,我們就必須得把服務端的響應信息放到頁面里,因此就需要一個技術把java的信息轉化到html頁面里,這就是javaEE規范里提供了jsp技術,jsp其實是一種服務端技術而非客戶端技術,不過它看起來似乎更像html技術,最早的jsp開發里都是直接將java代碼寫到頁面里,這種壞處誰都知道,之后javaEE規范提供了自定義標簽技術,使用一種類似html標簽的方式來解析java代碼,struts2框架提供了一整套完整的自定義標簽技術,這似乎聽起來不算啥,但是它的作用非凡,因為自定義標簽之所以叫自定義就是每個人都可以自己來定義,如果沒有一個規范必然產生混亂,而且一套完善的自定義標簽是個系統工程,一套完整的自定義標簽相當于我們在自己定義一套新的開發語言,做程序的人聽到這個一定就會明白開發一套完整的自定義標簽的工作量和開發難度都是難以想象的,而且自定義標簽都是和控制層緊密相連,其難度又會增加一個維度,所以struts2提供的自定義標簽對于業務開發帶來的將是質的飛越。

  Servlet里還有兩個重要的技術:監聽器和過濾器,對于監聽器在web開發里使用的場景比較少,都是一些十分特別的情況才會使用,大部分web開發里可以忽略它的使用,我們用的最多的監聽器可能就是對ServletContext創建和銷毀的監聽器,ServletContext是整個web應用的全局對象,它和Web應用的生命周期綁定在一起,因此使用這個監聽器對Web應用的全局信息進行初始化和銷毀操作,例如spring容器的初始化操作。比較有意思的是過濾器,在struts2里有個攔截器,它們的作用相同都是用來攔截請求的,因為攔截器是struts2的特有功能,在struts2里使用攔截器自然比使用過濾器更順手,其實攔截器所用的技術比過濾器更加先進,因為攔截器使用了反射技術,因此攔截器攔截的面更大,控制請求的能力更強,它能完成的任務也會更加的豐富多彩。

  在我第一次接觸struts2時候,有人告訴我struts設計的一個目的就是想屏蔽在控制層里操作request和response對象,因為這兩個http協議的兒子會造成web開發里思路的混亂,但是我在實際開發里卻經常不自覺的使用這兩個對象。而且本人做前端開發非常喜歡使用ajax,使用ajax技術時候我就很討厭struts2的自定義標簽,我更加喜歡在頁面里用javascript技術處理各種信息,最終struts2在我眼里就是一個servlet的變體,因此曾經有段時間我常常在想是不是可以拋棄struts2,直接用servlet,因為struts2里用到了太多反射機制,特別是使用注解做配置(注解是用反射實現的),在java里反射的執行效率是非常低的,直接使用servlet一定能提升web應用的執行效率。其實這個倒很難做到,因為當時我沒法在servlet里靈活的運用spring技術。

^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^

?說完Servlet+jsp技術到Struts2技術的過渡。接下來談談Spring。

  spring技術可以說是java企業開發里最重要的技術,不過真的理解spring的作用和意義還真是一件麻煩的事情,很多人對spring理解其實都是停留在使用階段(例如:聲明式事務很好用等等),當今的spring技術生態環境里可謂是蔚為壯觀,spring已經包羅萬象,它的內容之多完全不亞于它的本源java語言了,而spring這么大的框都是建立在ioc和aop技術之上,只有深入理解了這兩個技術我們才能明白為什么spring這個框能裝的下那么多東西了。

  首先是ioc,ioc技術第一個解釋叫做控制反轉,它還有個解釋就是依賴注入,這兩個名字很難從字面理解,但是當你理解它的原理后就會發現它們的描述是何等準確。Ioc技術的本質就是構建對象的技術換句話說就是將一個類實例化成對象的技術,在java里實例化類通過new關鍵字進行的,每次new一個類都會產生一個新的實例對象,這么做視乎很浪費,有時這種浪費還挺危險,因為在程序開發時候我們常常只需要某個類永遠只能產生一個的實例對象這個時候就得使用單例模式,此外在設計模式里還可以通過工廠方式產生對象,使用過spring的人看到上面的文字就知道了,spring里bean的定義就和上面的內容一一對應,scope屬性single產生單例對象,prototype產生新對象,bean還可以通過工廠方式產生對象,可以說spring的bean就是制造對象的工具。面向對象編程里對象相當于顯示生活中的一個實體,例如我們有個對象作用是完成打獵的操作,那么打獵這個對象內部包含兩個輔助對象:人和槍,只有人和槍賦予了打獵這個對象,那么打獵對象才能完成打獵的操作,但是構建一個人和槍的對象并不是看起來那么簡單,這里以槍為例,要創造一把槍我們需要金屬,需要機床,需要子彈,而機床和子彈又是兩個新對象,這些對象一個個相互嵌套相互關聯,大伙試想下如果我們在java代碼里構建一個槍的對象那是何其的復雜,假如我們要構造的不是簡單的槍對象而是更加復雜的航空母艦,那么構造這個對象的成本之高是讓人難以想象的,怎么來消除這種對象相互嵌套相互依賴的關系了?spring提供了一種方式,這種方式就是spring提供一個容器,我們在xml文件里定義各個對象的依賴關系,由容器完成對象的構建,當我們java代碼里需要使用某個實例的時候就可以從容器里獲取,那么對象的構建操作就被spring容器接管,所以它被稱為控制反轉,控制反轉的意思就是本來屬于java程序里構建對象的功能交由容器接管,依賴注入就是當程序要使用某個對象時候,容器會把它注入到程序里,這就叫做依賴注入。在java開發里我們想使用某個類提供的功能,有兩種方式,一種就是構造一個新的類,新的類繼承該類,另一種方式則是將某個類定義在新類里,那么兩個類之間就建立一種關聯關系,spring的ioc容器就是實現了這種關聯關系(記住不是繼承關系哦),那么某個類要被賦予到新類有哪些辦法了?一般只有兩種:一種就是通過構造函數,一種就是通過setXXX方式,這也是spring容器使用到了兩種標準的注入方式。

  不管是上面說的繼承方式,還是關聯方式其實都是增強目標對象能力的開發手段,在設計模式里有一種代理模式,代理模式將繼承模式和關聯模式結合在一起使用,代理模式就是繼承模式和關聯模式的綜合體,不過這個綜合體的作用倒不是解決對象注入的問題,而是為具體操作對象找到一個保姆或者是秘書,這就和小說里的二號首長一樣,這個二號首長對外代表了具體的實例對象,實例對象的入口和出口都是通過這個二號首長,因為具體的實例對象是一號首長,一號首長是要干大事的,所以一些事務性,重復性的工作例如泡茶,安排車子,這樣的工作是不用勞煩一號首長的大駕,而是二號首長幫忙解決的,這就是aop的思想,aop解決程序開發里事務性,和核心業務無關的問題,但這些問題對于業務場景的實現是很有必要的,在實際開發里aop也是節省代碼的一種方式。

  Spring的核心技術的作用本質就是一個溝通機制,spring總是盡全力的讓溝通的雙方信息暢通,同時降低雙方的溝通成本,在現實機構里一個善于溝通的人肯定是該公司的領導,很會溝通的領導能調動起各種資源的積極性,善于溝通的領導就會做到海納百川,讓各種不同人追隨他,所以當今的spring就是一個大框,什么都可以往里裝。Spring很像銀行,它不能直接創造物質財富,但是一切資源都要通過它進行流通,它能控制經濟發展的走向,回到程序的世界,spring的作用是被標榜為程序之間的解耦,spring能降低不同模塊之間的耦合度,原因就是在程序開發里不同模塊之間信息的溝通是通過對象傳遞完成的,而對象能否順利傳遞就是要合理的構建好對象,而管理好對象的構建方式就能管理好對象傳遞,這就是spring給系統架構設計帶來的好處。

^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^

?說到Spring, Spring的事務你懂嗎?

  什么是事務?為什么事務要管理?什么是Spring事務?事務就是對一系列的數據庫操作(比如插入多條數據)進行統一的提交或回滾操作,如果插入成功,那么一起成功,如果中間有一條出現異常,那么回滾之前的所有操作。這樣可以防止出現臟數據,防止數據庫數據出現問題。開發中為了避免這種情況一般都會進行事務管理。在JDBC中,是通過Connection對象進行事務管理的,默認是自動提交事務,可以手工將自動提交關閉,通過commit方法進行提交,rollback方法進行回滾,如果不提交,則數據不會真正的插入到數據庫中。Hibernate中則是通過Transaction進行事務管理,處理方法與JDBC中類似。Spring中也有自己的事務管理機制,一般是使用TransactionMananger進行管理,可以通過Spring的注入完成此功能。

  我通俗的理解如下:spring只是控制數據庫的事務提交和回滾,借助于java的反射機制,在事務控制的方法(通常是service層的方法)前后獲取事務開啟session,然后執行你的數據操作,如果你的方法內有異常被拋出,spring會捕獲異常并回滾你在這個方法內所有的數據操作,如果成功則提交所有的數據,最后spring會幫你關閉需要關閉的東西。所以spring想要做的是,要程序員專注于寫邏輯,不需要關心數據庫何時開啟和關閉連接。

 再說的通俗點兒:事務,對于一件事,對了就提交,錯了就回滾,什么時候回滾,都是事務要做的事情。具體的操作由spring 配置來管理(同時你也可以脫離框架,自己寫事務管理方法)。

  使用Spring事務的優點?

?

  在SSH框假中Spring充當了管理容器的角色。我們都知道Hibernate用來做持久層,因為它將JDBC做了一個良好的封裝,程序員在與數據庫進行交互時可以不用書寫大量的SQL語句。Struts是用來做應用層的,他它負責調用業務邏輯serivce層。所以SSH框架的流程大致是:Jsp頁面----Struts------Service(業務邏輯處理類)---Hibernate(左到右)。struts負責控制Service(業務邏輯處理類),從而控制了Service的生命周期,這樣層與層之間的依賴很強,屬于耦合。這時,使用spring框架就起到了控制Action對象(Strus中的)和Service類的作用,兩者之間的關系就松散了,Spring的Ioc機制(控制反轉和依賴注入)正是用在此處。Spring的Ioc(控制反轉和依賴注入) 控制反轉:就是由容器控制程序之間的(依賴)關系,而非傳統實現中,由程序代碼直接操控 依賴注入:組件之間的依賴關系由容器在運行期決定 ,由容器動態的將某種依賴關系注入到組件之中。 從上面我們不難看出:從頭到尾Action僅僅是充當了Service的控制工具,這些具體的業務方法是怎樣實現的,他根本就不會管,也不會問,他只要知道這些業務實現類所提供的方法接口就可以了。而在以往單獨使用Struts框架的時候,所有的業務方法類的生命周期,甚至是一些業務流程都是由Action來控制的。層與層之間耦合性太緊密了,既降低了數據訪問的效率又使業務邏輯看起來很復雜,代碼量也很多。Spring容器控制所有Action對象和業務邏輯類的生命周期,由于上層不再控制下層的生命周期,層與層之間實現了完全脫耦,使程序運行起來效率更高,維護起來也方便。使用Spring的第二個好處(AOP應用): 事務的處理: 在以往的JDBCTemplate中事務提交成功,異常處理都是通過Try/Catch 來完成,而在Spring中。Spring容器集成了TransactionTemplate,她封裝了所有對事務處理的功能,包括異常時事務回滾,操作成功時數據提交等復雜業務功能。這都是由Spring容器來管理,大大減少了程序員的代碼量,也對事務有了很好的管理控制。Hibernate中也有對事務的管理,hibernate中事務管理是通過SessionFactory創建和維護Session來完成。而Spring對SessionFactory配置也進行了整合,不需要在通過hibernate.cfg.xml來對SessionaFactory進行設定。這樣的話就可以很好的利用Sping對事務管理強大功能。避免了每次對數據操作都要現獲得Session實例來啟動事務/提交/回滾事務還有繁瑣的Try/Catch操作。這些也就是Spring中的AOP(面向切面編程)機制很好的應用。一方面使開發業務邏輯更清晰、專業分工更加容易進行。另一方面就是應用Spirng AOP隔離降低了程序的耦合性使我們可以在不同的應用中將各個切面結合起來使用大大提高了代碼重用度。有利于代碼重用,特別是Dao代碼的重用。事務往往和業務規則緊密關聯。當業務邏輯發生改變,意味著dao的大幅度改動。系統規模達到一定程度,修改風險相當大。Spring的好處是不更改現有的dao,僅需對現有的service bean進行配置就達到事務效果了。同時,把事務統一在service層,系統結構更清晰。 為什么說風險風大? Spring對于事務的配置有兩種方式:第一種,使用xml形式,第二種,使用注解的形式。 基于XMl方式: 優點:可以在后期維護的時候適當的調整事務管理模式,并且只要遵循一定的命名規范,可以讓程序員不必關心事務。缺點:系統越龐大,xml配置就越大。 基于注解方式:優點:配置比較方便,程序員只要在service層代碼設置即可以實現。不需要知道系統需要多少個bean,交給容器來注入就好了。缺點:當你要修改或刪除一個bean的時候,你無法確定到底有多少個其他的bean依賴于這個bean。(解決方法:需要有嚴格的開發文檔,在修改實現時盡可能繼續遵守相應的接口避免使其他依賴于此的bean不可用)

  在我們用SSH開發項目的時候,我們一般都是將事務設置在Service層 那么當我們調用Service層的一個方法的時候它能夠保證我們的這個方法中執行的所有的對數據庫的更新操作保持在一個事務中,在事務層里面調用的這些方法要么全部成功,要么全部失敗。那么事務的傳播特性也是從這里說起的。?如果你在你的Service層的這個方法中,除了調用了Dao層的方法之外,還調用了本類的其他的Service方法,那么在調用其他的 Service方法的時候,這個事務是怎么規定的呢,我必須保證我在我方法里掉用的這個方法與我本身的方法處在同一個事務中,否則如何保證事物的一致性。事務的傳播特性就是解決這個問題的,“事務是會傳播的”在Spring中有針對傳播特性的多種配置我們大多數情況下只用其中的一種:PROPGATION_REQUIRED:這個配置項的意思是說當我調用service層的方法的時候開啟一個事務(具體調用那一層的方法開始創建事務,要看你的aop的配置),那么在調用這個service層里面的其他的方法的時候,如果當前方法產生了事務就用當前方法產生的事務,否則就創建一個新的事務。這個工作是由Spring來幫助我們完成的。?以前沒有Spring幫助我們完成事務的時候我們必須自己手動的控制事務,例如當我們項目中僅僅使用hibernate,而沒有集成進 spring的時候,我們在一個service層中調用其他的業務邏輯方法,為了保證事物必須也要把當前的hibernate session傳遞到下一個方法中,或者采用ThreadLocal的方法,將session傳遞給下一個方法,其實都是一個目的。現在這個工作由 spring來幫助我們完成,就可以讓我們更加的專注于我們的業務邏輯。而不用去關心事務的問題。默認情況下當發生RuntimeException的情況下,事務才會回滾,所以要注意一下。如果你在程序發生錯誤的情況下,有自己的異常處理機制定義自己的Exception,必須從RuntimeException類繼承,這樣事務才會回滾!

  補充文字來說一下上面的關于Spring的一個問題。基于xml和基于注解,當然了它們都有優缺點。我們通俗的說,是這樣的。先來回顧一下傳統上是如何配置 Bean 并完成 Bean 之間依賴關系的建立。下面是 3 個類,它們分別是 Office、Car 和 Boss,這 3 個類需要在 Spring 容器中配置為 Bean。

// Office.java public class Office {private String officeNo =”001”;//省略 get/setter@Overridepublic String toString() {return "officeNo:" + officeNo;} }

?

// Car.java public class Car {private String brand;private double price;// 省略 get/setter@Overridepublic String toString() {return "brand:" + brand + "," + "price:" + price;} }

?

// Boss.java public class Boss {private Car car;private Office office;// 省略 get/setter@Overridepublic String toString() {return "car:" + car + "\n" + "office:" + office;} }

?

我們在 Spring 容器中將 Office 和 Car 聲明為 Bean,并注入到 Boss Bean 中:下面是使用傳統 XML?完成這個工作的配置文件 beans.xml:

// bean.xml將以上三個類配置成bean。 <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><bean id="boss" class="com.baobaotao.Boss"><property name="car" ref="car"/><property name="office" ref="office" /></bean><bean id="office" class="com.baobaotao.Office"><property name="officeNo" value="002"/></bean><bean id="car" class="com.baobaotao.Car" scope="singleton"><property name="brand" value=" 紅旗 CA72"/><property name="price" value="2000"/></bean> </beans>

?

// 當我們運行這段代碼時,控制臺將正確打印出boss的信息。這說明 Spring 容器已經正確完成了 Bean 創建和裝配的工作。 import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class AnnoIoCTest {public static void main(String[] args) {String[] locations = {"beans.xml"};ApplicationContext ctx = new ClassPathXmlApplicationContext(locations);Boss boss = (Boss) ctx.getBean("boss");System.out.println(boss);} }

我們知道 Spring 2.5 中引入了?@Autowired?注釋,它可以對類成員變量、方法及構造函數進行標注,完成自動裝配的工作。來看一下使用@Autowired?進行成員變量自動注入的代碼:?

// Autowired是自動裝配的意思 import org.springframework.beans.factory.annotation.Autowired;public class Boss {@Autowiredprivate Car car;@Autowiredprivate Office office; }// Spring 通過一個 BeanPostProcessor 對 @Autowired 進行解析,所以要讓@Autowired 起作用必須事先在 Spring 容器中聲明 AutowiredAnnotationBeanPostProcessor Bean。 // 讓系統認識@Autowired,讓@Autowired注釋工作起來。

<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"><!-- 該 BeanPostProcessor 將自動起作用,對標注 @Autowired 的 Bean 進行自動注入 --><bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/><!-- 移除 boss Bean 的屬性注入配置的信息 --><bean id="boss" class="com.baobaotao.Boss"/> // 這里面沒配置哦<bean id="office" class="com.baobaotao.Office"><property name="officeNo" value="001"/></bean><bean id="car" class="com.baobaotao.Car" scope="singleton"><property name="brand" value=" 紅旗 CA72"/><property name="price" value="2000"/></bean> </beans>

?

這樣,當 Spring 容器啟動時,AutowiredAnnotationBeanPostProcessor?將掃描 Spring 容器中所有 Bean,當發現 Bean 中擁有@Autowired?注釋時就找到和其匹配(默認按類型匹配)的 Bean,并注入到對應的地方中去。按照上面的配置,Spring 將直接采用 Java 反射機制對 Boss 中的

car?和?office?這兩個私有成員變量進行自動注入。所以對成員變量使用@Autowired?后,您大可將它們的 setter 方法(setCar()?和?setOffice())從 Boss 中刪除。當然,您也可以通過?@Autowired?對方法或構造函數進行標注,來看下面的代碼:

public class Boss {private Car car;private Office office;@Autowiredpublic void setCar(Car car) {this.car = car;}@Autowiredpublic void setOffice(Office office) {this.office = office;} }

?

這時,@Autowired 將查找被標注的方法的入參類型的 Bean,并調用方法自動注入這些 Bean。而下面的使用方法則對構造函數進行標注:

 Spring?IOC三種注入方式(接口注入、setter注入、構造器注入)

public class Boss {private Car car;private Office office;@Autowiredpublic Boss(Car car ,Office office){this.car = car;this.office = office ;} } // 由于 Boss() 構造函數有兩個入參,分別是 car 和 office,@Autowired 將分別尋找和它們類型匹配的 Bean,將它們作為Boss(Car car ,Office office) 的入參來創建 Boss Bean。在默認情況下使用 @Autowired 注釋進行自動注入時,Spring 容器中匹配的候選 Bean 數目必須有且僅有一個。當找不到一個匹配的 Bean 時,Spring 容器將拋出BeanCreationException 異常,并指出必須至少擁有一個匹配的 Bean。我們可以來做一個實驗:

<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd "><bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/> <bean id="boss" class="com.baobaotao.Boss"/><!-- 將 office Bean 注釋掉 --><!-- <bean id="office" class="com.baobaotao.Office"> //然后你想,當多個bean之間互相依賴的時候,是不是維護起來很麻煩啊。<property name="officeNo" value="001"/></bean>--><bean id="car" class="com.baobaotao.Car" scope="singleton"><property name="brand" value=" 紅旗 CA72"/><property name="price" value="2000"/></bean> </beans>

由于?office?Bean 被注釋掉了,所以 Spring 容器中將沒有類型為?Office?的 Bean 了,而 Boss 的office?屬性標注了?@Autowired,當啟動 Spring 容器時,異常就產生了。當不能確定 Spring 容器中一定擁有某個類的 Bean 時,可以在需要自動注入該類 Bean 的地方可以使用?@Autowired(required = false),這等于告訴 Spring:在找不到匹配 Bean 時也不報錯。來看一下具體的例子:

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Required;public class Boss {private Car car;private Office office;@Autowiredpublic void setCar(Car car) {this.car = car;}@Autowired(required = false)public void setOffice(Office office) {this.office = office;} }

當然,一般情況下,使用?@Autowired?的地方都是需要注入 Bean 的,使用了自動注入而又允許不注入的情況一般僅會在開發期或測試期碰到(如為了快速啟動 Spring 容器,僅引入一些模塊的 Spring 配置文件),所以@Autowired(required = false)?會很少用到。和找不到一個類型匹配 Bean 相反的一個錯誤是:如果 Spring 容器中擁有多個候選 Bean,Spring 容器在啟動時也會拋出?BeanCreationException?異常。來看下面的例子:

// 在 beans.xml 中配置兩個 Office 類型的 Bean <bean id="office" class="com.baobaotao.Office"><property name="officeNo" value="001"/> </bean> <bean id="office2" class="com.baobaotao.Office"><property name="officeNo" value="001"/> </bean>

我們在 Spring 容器中配置了兩個類型為?Office?類型的 Bean,當對 Boss 的?office?成員變量進行自動注入時,Spring 容器將無法確定到底要用哪一個 Bean,因此異常發生了。Spring 允許我們通過?@Qualifier注釋指定注入 Bean 的名稱,這樣歧義就消除了,可以通過下面的方法解決異常:

@Autowired public void setOffice(@Qualifier("office")Office office) {this.office = office; }

@Qualifier("office")?中的?office?是 Bean 的名稱,所以?@Autowired?和@Qualifier?結合使用時,自動注入的策略就從 byType 轉變成 byName 了。@Autowired?可以對成員變量、方法以及構造函數進行注釋,而@Qualifier?的標注對象是成員變量、方法入參、構造函數入參。正是由于注釋對象的不同,所以 Spring 不將?@Autowired?和@Qualifier?統一成一個注釋類。下面是對成員變量和構造函數入參進行注釋的代碼:對成員變量進行注釋:

public class Boss {@Autowiredprivate Car car;@Autowired@Qualifier("office")private Office office; }

?我們面試中提到Spring框架經常被問到的一塊兒是Spring的事務,它優于struts2,優于hibernate。那么我們現在就詳細的說說這個東西。

// 事務的特性:原子性、一致性、隔離性、持久性。常常問的:1. Spring事務的傳播特性; 2. Spring事務的隔離機制。

?我們先來探討一下數據庫事務的隔離級別:

事務的(ACID)特性是由關系數據庫管理系統(RDBMS,數據庫系統)來實現的。數據庫管理系統采用日志來保證事務的原子性、一致性和持久性。日志記錄了事務對數據庫所做的更新,如果某個事務在執行過程中發生錯誤,就可以根據日志,撤銷事務對數據庫已做的更新,使數據庫退回到執行事務前的初始狀態。數據庫管理系統采用鎖機制來實現事務的隔離性。當多個事務同時更新數據庫中相同的數據時,只允許持有鎖的事務能更新該數據,其他事務必須等待,直到前一個事務釋放了鎖,其他事務才有機會更新該數據。幻讀 是指當事務不是獨立執行時發生的一種現象,例如第一個事務對一個表中的數據進行了修改,比如這種修改涉及到表中的“全部數據行”。同時,第二個事務也修改這個表中的數據,這種修改是向表中插入“一行新數據”。那么,以后就會發生操作第一個事務的用戶發現表中還有沒有修改的數據行,就好象發生了幻覺一樣.一般解決幻讀的方法是增加范圍鎖RangeS,鎖定檢鎖范圍為只讀,這樣就避免了幻讀。臟讀 就是指當一個事務正在訪問數據,并且對數據進行了修改,而這種修改還沒有提交到數據庫中,這時,另外一個事務也訪問這個數據,然后使用了這個數據。因為這個數據是還沒有提交的數據,那么另外一個事務讀到的這個數據是臟數據,依據臟數據所做的操作可能是不正確的。

 數據庫系統有四個隔離級別。對數據庫使用何種隔離級別要審慎分析,因為維護一個最高的隔離級別雖然會防止數據的出錯,但是卻導致了并行度的損失,以及導致死鎖出現的可能性增加。然而,降低隔離級別,卻會引起一些難以發現的bug。

  1. 序列化 Serializable,?添加范圍鎖(比如表鎖,頁鎖等,關于range lock,我也沒有很深入的研究),直到transaction A結束。以此阻止其它trasaction B對此范圍內的insert,update等操作。幻讀,臟讀,不可重復讀等問題都不會發生。

?

  2. 可重復讀 repeatable read,?對于讀出的記錄,添加共享鎖直到transaction A結束。其它transaction B對這個記錄的試圖修改會一直等待直到trasaction A結束。InnoDB?默認級別可能發生的問題:當執行一個范圍查詢時,可能會發生幻讀。

?

  3. 提交讀 read commited,?在trasaction A中讀取數據時對記錄添加共享鎖,但讀取結束立即釋放。其它transaction B對這個記錄的試圖修改會一直等待直到A中的讀取過程結束,而不需要整個trasaction A的結束。所以,在trasaction A的不同階段對同一記錄的讀取結果可能是不同的。

? ? ? ?可能發生的問題:不可重復讀。

?

  4. 未提交讀 read uncommited,?不添加共享鎖。所以其它trasaction B可以在trasaction A對記錄的讀取過程中修改同一記錄,可能會導致A讀取的數據是一個被破壞的或者說不完整不正確的數據。另外,在trasaction A中可以讀取到trasaction B(未提交)中修改的數據。比如trasaction     B對R記錄修改了,但未提交。此時,在Trasaction A中讀取R記錄,讀出的是被B修改過的數據。可能發生的問題:臟讀。

?那么Spring的事務隔離機制和Spring事務的傳播屬性呢,Spring的隔離級別我們知道目的是為了防止幻讀和臟讀。Spring的事務傳播屬性似乎好難理解。。接下來,先解釋下什么叫做事務的傳播屬性:

我們都知道事務的概念,那么事務的傳播特性是什么呢?(先著重介紹傳播特性的概念,關于傳播特性的相關配置稍后再介紹) 背景:當我們用SSH開發項目的時候,我們一般都是將事務設置在Service層 那么當我們調用Service層的一個方法的時候它能夠保證我們的這個方法中執行的所有的對數據庫的更新操作保持在一個事務中,在事務層里面調用的這些方法要么全部成功,要么全部失敗。那么事務的傳播特性也是從這里說起的。 場景:如果你在你的Service層的這個方法中,除了調用了Dao層的方法之外,還調用了本類的其他的Service方法,那么在調用其他的Service方法的時候,這個事務是怎么規定的呢,我必須保證我在我方法里掉用的這個方法與我本身的方法處在同一個事務中,否則如何保證事物的一致性。事務的傳播特性就是解決這個問題的,“事務是會傳播的”在Spring中有針對傳播特性的多種配置我們大多數情況下只用其中的1種:PROPGATION_REQUIRED:這個配置項的意思是說當我調用service層的方法的時候開啟一個事務(具體調用那一層的方法開始創建事務,要看你的aop的配置),那么在調用這個service層里面的其他的方法的時候,如果當前方法產生了事務就用當前方法產生的事務,否則就創建一個新的事務。這個工作使由Spring來幫助我們完成的。 以前沒有Spring幫助我們完成事務的時候我們必須自己手動的控制事務,例如當我們項目中僅僅使用hibernate,而沒有集成進spring的時候,我們在一個service層中調用其他的業務邏輯方法,為了保證事物必須也要把當前的hibernate session傳遞到下一個方法中,或者采用ThreadLocal的方法,將session傳遞給下一個方法,其實都是一個目的。現在這個工作由spring來幫助我們完成,就可以讓我們更加的專注于我們的業務邏輯。而不用去關心事務的問題。默認情況下當發生RuntimeException的情況下,事務才會回滾,所以要注意一下如果你在程序發生錯誤的情況下,有自己的異常處理機制定義自己的Exception,必須從RuntimeException類繼承這樣事務才會回滾!

好了,知道了事務的傳播特性之后,我們看看Spring提供的六種事務傳播Propagation特性:仔細感覺一下,六中Spring事務傳播機制?對稱美?

1. Propagation required, 如果當前沒有事務,就新建一個事務。 2. Propagation supports, 如果當前沒有事務,就以非事務方式執行。 3. Propagation mandatory, 如果當前沒有事務,就拋出異常。 4. Propagation requires new, 如果當前存在事務,掛起當前事務,新建事務。 5. Propagation not supported, 如果當前存在事務,把當前事務掛起,以非事務方式執行。 6. Propagation never, 如果當前存在事務,拋出異常。以非事務方式執行。

關于六種事務傳播機制的具體應用場景,參考:?Spring事務傳播機制博客

?了解了Spring事務的傳播特性,再來看看Spring事務的五種隔離級別isolation level。

// 先再來回顧前面說到的三個概念 臟讀: 指當一個事務正在訪問數據,并且對數據進行了修改,而這種修改還沒有提交到數據庫中,這時,另外一個事務也訪問這個數據,然后使用了這個數據。因為這個數據是還沒有提交的數據, 那么另外一個事務讀到的這個數據是臟數據,依據臟數據所做的操作可能是不正確的。不可重復讀: 指在一個事務內,多次讀同一數據。在這個事務還沒有結束時,另外一個事務也訪問該同一數據。那么,在第一個事務中的兩次讀數據之間,由于第二個事務的修改,那么第一個事務兩次讀到的數據可能是不一樣的。這樣就發生了在一個事務內兩次讀到的數據是不一樣的,因此稱為是不可重復讀。幻覺讀: 指當事務不是獨立執行時發生的一種現象,例如第一個事務對一個表中的數據進行了修改,這種修改涉及到表中的全部數據行。同時,第二個事務也修改這個表中的數據,這種修改是向表中插入一行新數據。那么,以后就會發生操作第一個事務的用戶發現表中還有沒有修改的數據行,就好象發生了幻覺一樣。

?

// 再來看Spring事務的隔離級別isolation level:1. isolation default: 這是一個默認的隔離級別,使用數據庫默認的事務隔離級別.(一般情況下,使用這種)。另外四個與JDBC的隔離級別相對應.2. isolation read uncommited: 這個是事務最低的隔離級別,它允許令外一個事務可以看到這個事務未提交的數據。這種隔離級別會產生臟讀,不可重復讀和幻像讀。(trasaction B可以在trasaction A對記錄的讀取過程中修改同一記錄)產生臟讀、產生不重復讀、產生幻讀。3. isolation read commited: 保證一個事務修改的數據提交后才能被另外一個事務讀取。另外一個事務不能讀取該事務未提交的數據.(trasaction B提交后trasaction A才能讀取)避免臟讀、會產生不重復讀、會產生幻讀。4. isolation repeatable read: 這種事務隔離級別可以防止臟讀,不可重復讀。但是可能出現幻讀。它除了保證一個事務不能讀取另一個事務未提交的數據外,還保證了避免下面的情況產生(不可重復讀)。避免臟讀、避免不重復讀、會產生幻讀。5. isolation serializable.這是花費最高代價但是最可靠的事務隔離級別。事務被處理為順序執行。 除了防止臟讀,不可重復讀外,還避免了幻讀。避免臟讀、避免不重復讀、避免幻讀。

  換種口吻說,聲明式事務。聲明式事務是Spring提供的對程序事務管理的方式之一。Sping的聲明式事務,就是在配置文件中采用配置的方式對事務進行管理。Spring中的AOP即,是完成事務管理工作的。

總結一下我們出幾道面試題整合一下Spring3的知識。

1. Spring的工作原理:

1.客戶端請求提交到DispatcherServlet 2. 由DispatcherServlet控制器查詢一個或多個HandlerMapping,找到處理請求的Controller 3. DispatcherServlet將請求提交到Controller 4. Controller調用業務邏輯處理后,返回ModelAndView 5. DispatcherServlet查詢一個或多個ViewResoler視圖解析器,找到ModelAndView指定的視圖 6. 視圖負責將結果顯示到客戶端

?2. 為什么要用Spring?

1、Spring能很好的與各大框架進行集成 2、創建對象時,如果我們不用spring。需要用工廠模式來創建,這個spring相當于工廠模式已經幫我們做了創建對象的功能(IOC、依賴注入)。 3、在用Hibernate的時候,如果不用spring每次都要寫事務的提交代碼,有了spring可以通過AOP幫助我們管理事務。 4、面向切面編程(AOP)在要記錄日志的時候添加一條記錄后需要在數據里同時添加一條添加成功了或失敗的記錄,那么就可以用Spring的Aop來處理,雖然不用Aop也能做但是不用Spring的Aop就會寫很多重復的代碼。AOP 讓開發人員可以創建非行為性的關注點,稱為橫切關注點,并將它們插入到應用程序代碼中。使用 AOP 后,公共服務 (比 如日志、持久性、事務等)就可以分解成方面并應用到域對象上,同時不會增加域對象的對象模型的復雜性。IOC 允許創建一個可以構造對象的應用環境,然后向這些對象傳遞它們的協作對象。正如單詞 倒置 所表明的,IOC 就像反 過來的 JNDI。沒有使用一堆抽象工廠、服務定位器、單元素(singleton)和直接構造(straight construction),每一個對象都是用 其協作對象構造的。因此是由容器管理協作對象(collaborator)。Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協作對象)。然后可以很容易地在需要時替換具有類似接口的協作對象。?

?3. 請你談談SSH的整合?

請你談談SSH整合 SSH:Struts(表示層)+Hibernate(持久層)+Spring(業務層)a、Struts Struts是一個表示層框架,主要作用是界面展示,接收請求,分發請求。 b、Hibernate Hibernate是一個持久層框架,它只負責與關系數據庫的操作。 c、Spring Spring是一個業務層框架,是一個整合的框架,能夠很好地黏合表示層與持久層。

?

4. 介紹一下Spring的事務管理?

介紹一下Spring的事務管理 事務就是對一系列的數據庫操作(比如插入多條數據)進行統一的提交或回滾操作,如果插入成功,那么一起成功,如果中間有一條出現異常,那么回滾之前的所有操作。這樣可以防止出現臟數據,防止數據庫數據出現問題。開發中為了避免這種情況一般都會進行事務管理。Spring中也有自己的事務管理機制,一般是使用TransactionMananger進行管理,可以通過Spring的注入來完成此功能。

?

?5. 什么是依賴注入,依賴注入的作用是什么?

什么是依賴注入,依賴注入的作用是什么? IOC是一種思想,它能指導我們如何設計出松耦合、更優良的程序。傳統應用程序都是由我們在類內部主動創建依賴對象,從而導致類與類之間高耦合,難于測試. 有了IOC容器后,把創建和查找依賴對象的控制權交給了容器,由容器進行注入組合對象,所以對象與對象之間是松散耦合,這樣也方便測試,利于功能復用,更重要的是使得程序的整個體系結構變得非常靈活。依賴注入的作用:減少類間耦合度,避免用new來創建對象。

?6.什么是aop,aop的作用是什么?

什么是AOP,AOP的作用是什么? AOP,面向切面編程,就是把可重用的功能提取出來,然后將這些通用功能在合適的時候織入到應用程序中,比如事務管理、權限控制、日志記錄、性能統計等。AOP的作用 AOP并沒有幫助我們解決任何新的問題,它只是提供了一種更好的辦法,能夠用更少的工作量來解決現有的一些問題,使得系統更加健壯,可維護性更好。

7.?Spring中的BeanFactory與ApplicationContext的作用有哪些?

1、BeanFactory負責讀取bean的配置文件,管理bean的加載、實例化,維護bean之間的依賴關系,負責bean的生命周期。 2、ApplicationContext除了提供上述BeanFactory所能提供的功能之外,還提供了更完整的框架功能: a. 國際化支持 b. 資源訪問 c. 事件傳遞

?

8. ?Hibernate的工作原理?

Hibernate工作原理及為什么要用? 原理: 1.讀取并解析配置文件 2.讀取并解析映射信息,創建SessionFactory 3.打開Sesssion 4.創建事務Transation 5.持久化操作 6.提交事務 7.關閉Session 8.關閉SesstionFactory

?

9. 為什么要用hibernate?

// 為什么要用: 1. 對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。 2. Hibernate是一個基于JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作 3. hibernate使用Java反射機制,而不是字節碼增強程序來實現透明性。 4. hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關系數據庫,從一對一到多對多的各種復雜關系。

?10. Hibernate如何延遲加載?

Hibernate是如何延遲加載? 1. Hibernate2延遲加載實現:a)實體對象 b)集合(Collection) 2. Hibernate3 提供了屬性的延遲加載功能 當Hibernate在查詢數據的時候,數據并沒有存在與內存中,當程序真正對數據的操作時,對象才存在與內存中,就實現了延遲加載,他節省了服務器的內存開銷,從而提高了服務器的性能。

11. Hibernate怎么樣實現類之間的關系?

Hibernate中怎樣實現類之間的關系?(如:一對多、多對多的關系)類與類之間的關系主要體現在表與表之間的關系進行操作,它們都是對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many、

?12. 說下hibernate的緩存機制。

詳細說下hibernate的緩存機制:// 為什么要用hibernate緩存:

Hibernate是一個持久層框架,經常訪問物理數據庫。為了降低應用程序對物理數據源訪問的頻次,從而提高應用程序的運行性能。緩存內的數據是對物理數據源中的數據的復制,應用程序在運行時從緩存讀寫數據,在特定的時刻或事件會同步緩存和物理數據源的數據。

?

?// Hibernate的緩存原理是怎么樣的?

Hibernate一級緩存又稱為“Session的緩存”。Session的緩存是事務范圍的緩存(Session對象的生命周期通常對應一個數據庫事務或者一個應用事務)。

Hibernate二級緩存又稱為“SessionFactory的緩存”。由于SessionFactory對象的生命周期和應用程序的整個過程對應,因此Hibernate二級緩存是進程范圍或者集群范圍的緩存,有可能出現并發問題,因此需要采用適當的并發訪問策略,該策略為被緩存的數據提供了事務隔離級別。第二級緩存是可選的,是一個可配置的插件,默認下SessionFactory不會啟用這個插件。

?

? ?// 既然二級緩存是進程級別的緩存,那么它適合緩存什么類型的數據呢?

      什么樣的數據適合存放到第二級緩存中?   
          1) 很少被修改的數據   
          2) 不是很重要的數據,允許出現偶爾并發的數據   
          3) 不會被并發訪問的數據   
          4) 常量數據   
  不適合存放到第二級緩存的數據?   
          1) 經常被修改的數據   
          2) 絕對不允許出現并發訪問的數據,如財務數據,絕對不允許出現并發   
          3) 與其他應用共享的數據。

?

  // Session的延遲加載

  Session的延遲加載實現要解決兩個問題:正常關閉連接和確保請求中訪問的是同一個session。Hibernate session就是java.sql.Connection的一層高級封裝,一個session對應了一個Connection。http請求結束后正確的關閉session(過濾器實現了session的正常關閉);延遲加載必須保證是同一個session(session綁定在ThreadLocal)。

?

  // Hibernate查找對象, 如何應用緩存?

當Hibernate根據ID訪問數據對象的時候,首先從Session一級緩存中查;查不到,如果配置了二級緩存,那么從二級緩存中查;如果都查不到,再查詢數據庫,把結果按照ID放入到緩存刪除、更新、增加數據的時候,同時更新緩存。

?

?

?接下來說說Spring事務的配置:

  Spring 如果沒有特殊說明,一般指是跟數據存儲有關的數據操作事務操作;對于數據持久操作的事務配置,一般有三個對象,數據源(dataSouce),事務管理器(transactionManager),以及事務代理機制;Spring 提供了多種的底層數據源實現,以及多種類型的事務管理器;所有的管理器都基于 Platform Transaction Manager 接口實現各自的事務策略;Spring 事務管理采用 AOP 切面代理技術實現,AOP 用于分隔關注點,保證事務的原子性,采用一定的技術 把該關注點 (weaving) 織入到 待完善的關注點上,實現單獨組件無法實現的功能,以解決面向對象編程在某些方式下難于實現的操作,更好的支持面向對象的開關原則(擴展開放,修改關閉)。

對于三部分:dataSource、transactionManager、事務代理機制。無論哪種配置方式,一般變化的都是代理機制部分。DataSource、TransactionManager這兩部分只是會根據數據訪問方式有所變化。比如使用Hibernate進行數據訪問時,DataSource實際為SessionFactory,TransactionManager的實現為HibernateTransactionManager

  那么我們知道了事務有五種配置方式和三個對象,接下來說說它的層面:Spring的事務到底該給Dao配置還是給Service配置呢?Spring的事務為業務邏輯進行事務管理,保證業務邏輯上數據的原子性。事務根據項目性質來細分:事務可以設置到三個層面(dao層、service層和web層),第一:web層事務,這一般是針對那些安全性要求較高的系統來說的。例如電子商務網站。粒度小,一般系統用不著這么細。第二:service層事務,這是一常見的事務劃分, 將事務設置在業務邏輯上,只要業務邏輯出錯或異常就事務回滾。粒度較小,一般推薦這種方式。第三:數據持久層數據務,也就是常說的數據庫事務。這種事務在安全性方面要求低。就是給一個簡單的增刪改之類的操作增加事務操作,粒度大。    

  Spring聲明式事務讓我們從復雜的事務處理中得到解脫。使得我們再也無需要去處理獲得連接、關閉連接、事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處理大量的try…catch…finally代碼。?
我們在使用Spring聲明式事務時,有一個非常重要的概念就是事務屬性。事務屬性通常由事務的傳播行為,事務的隔離級別,事務的超時值和事務只讀標志組成。我們在進行事務劃分時,需要進行事務定義,也就是配置事務的屬性。給Service層配置事務,因為一個Service層方法操作可以關聯到多個DAO的操作。在Service層執行這些Dao操作,多DAO操作有失敗全部回滾,成功則全部提交。事務分為業務事務和系統事務,業務事務也就是業務邏輯上操作的一致性,系統事務自然就是指真正的數據庫事務,Spring配置事務的是為了什么進行管理,當然是為業務邏輯進行事務管理,保證業務邏輯上數據的原子性;Dao層是什么,數據訪問層,是不應該包含業務邏輯的,這就是和Service層的不同;Service層就是業務邏輯層,事務的管理就是為Service層上的保證。

package com.bluesky.spring.dao; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import org.springframework.stereotype.Component; import com.bluesky.spring.domain.User; @Transactional // 看代碼(關于事務的配置) @Component("userDao") public class UserDaoImpl extends HibernateDaoSupport implements UserDao { public List<User> listUsers() { return this.getSession().createQuery("from User").list(); } } // 在DAO層上加了注解 @Transactional ,這種申明式事務方式,讓我們從復雜的事務處理中得到解脫,使得我們再也無需要去處理獲得連接、關閉連接、事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處理大量的try…catch…finally代碼。

?

接下來,我們看看事務的定義

// TransactionDefinition public interface TransactionDefinition { int getPropagationBehavior(); //方法 返回事務的傳播行為,是否由一個活動事務來決定一個事務的調用。int getTimeout(); //方法 返回事務必須在多少秒內執行boolean isReadOnly(); //方法返回事務是否是只讀的      int getIsolationLevel(); // 返回事務的隔離級別 } 說說事務的隔離級別:在TransactionDefinition接口中定義了五個不同的事務隔離級別,ISOLATION_DEFAULT?這是一個默認的隔離級別,使用數據庫默認的事務隔離級別.另外四個與JDBC的隔離級別相對應。ISOLATION_READ_UNCOMMITTED?這是事務最低的隔離級別,它充許別外一個事務可以看到這個事務未提交的數據。這種隔離級別會產生臟讀,不可重復讀和幻像讀。?

例如: Mary的原工資為1000,財務人員將Mary的工資改為了8000,但未提交事務 Java代碼 1. Connection con1 = getConnection(); 2. con.setAutoCommit(false); 3. update employee set salary = 8000 where empId ="Mary"; 與此同時,Mary正在讀取自己的工資 Java代碼 1. Connection con2 = getConnection(); 2. select salary from employee where empId ="Mary"; 3. con2.commit(); Mary發現自己的工資變為了8000,歡天喜地! 而財務發現操作有誤,而回滾了事務,Mary的工資又變為了1000 Java代碼 1. //con1 2. con1.rollback(); 像這樣,Mary記取的工資數8000是一個臟數據。

?

?

ISOLATION_READ_COMMITTED??保證一個事務修改的數據提交后才能被另外一個事務讀取。另外一個事務不能讀取該事務未提交的數據。這種事務隔離級別可以避免臟讀出現,但是可能會出現不可重復讀和幻像讀。ISOLATION_REPEATABLE_READ??這種事務隔離級別可以防止臟讀,不可重復讀。但是可能出現幻像讀。它除了保證一個事務不能讀取另一個事務未提交的數據外,還保證了避免下面的情況產生(不可重復讀)。?

在事務1中,Mary 讀取了自己的工資為1000,操作并沒有完成 Java代碼 1. con1 = getConnection(); 2. select salary from employee empId ="Mary"; 在事務2中,這時財務人員修改了Mary的工資為2000,并提交了事務. Java代碼 1. con2 = getConnection(); 2. update employee set salary = 2000; 3. con2.commit(); 在事務1中,Mary 再次讀取自己的工資時,工資變為了2000 Java代碼 1. //con1 2. select salary from employee empId ="Mary"; 在一個事務中前后兩次讀取的結果并不致,導致了不可重復讀。 使用ISOLATION_REPEATABLE_READ可以避免這種情況發生。

?

?

ISOLATION_SERIALIZABLE?這是花費最高代價但是最可靠的事務隔離級別。事務被處理為順序執行。除了防止臟讀,不可重復讀外,還避免了幻像讀。?

@Transactional只能被應用到public方法上,?對于其它非public的方法,如果標記了@Transactional也不會報錯,但方法沒有事務功能。Spring使用聲明式事務處理,默認情況下,如果被注解的數據庫操作方法中發生了unchecked異常,所有的數據庫操作將rollback;如果發生的異常是checked異常,默認情況下數據庫操作還是會提交的。這種默認的行為是可以改變的。事務詳細講解的文章

第一種方式,每個bean都有一個代理類。

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"><!-- 數據源 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://192.168.0.244:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" /><property name="username" value="root" /><property name="password" value="root" /><!-- 連接池啟動時的初始值 --><property name="initialSize" value="10" /><!-- 連接池的最大值 --><property name="maxActive" value="10" /><!-- 最大空閑值.當經過一個高峰時間后,連接池可以慢慢將已經用不到的連接慢慢釋放一部分,一直減少到maxIdle為止 --><property name="maxIdle" value="20" /><!-- 最小空閑值.當空閑的連接數少于閥值時,連接池就會預申請去一些連接,以免洪峰來時來不及申請 --><property name="minIdle" value="10" /><property name="defaultAutoCommit" value="true" /></bean><!-- 會話工廠 --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource" /><property name="mappingLocations"><list><value>classpath:/com/nms/entity/**/*.hbm.xml</value></list></property><property name="hibernateProperties"><props><prop key="hibernate.dialect"> org.hibernate.dialect.MySQL5Dialect </prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop></props></property></bean> <!-- 定義事務管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 配置服務層 --><bean id="userDaoAgency" class="com.dao.impl.UserDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean> <bean id="userDao" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置事務管理器 --> <property name="transactionManager" ref="transactionManager" /> <property name="target" ref="userDaoAgency" /> <property name="proxyInterfaces" value="com.dao.UserDao" /><!-- 配置事務屬性 --> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop></props> </property> </bean> </beans>

第二種方式,所有bean共享一個代理類。

<?xml version="1.0" encoding="UTF-8"?> <beans><!-- 數據源 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><!-- // 配置同上 --></bean><!-- 會話工廠 --><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><!-- // 配置同上 --></bean><!-- 定義事務管理器 --><bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 定義事務 --><bean id="base" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true"><!-- 配置事務管理器 --><property name="transactionManager" ref="transactionManager" /><!-- 配置事務屬性 --><property name="transactionAttributes"><props><prop key="*">PROPAGATION_REQUIRED</prop></props></property></bean><!-- 配置服務層 --><bean id="userDao" class="com.dao.impl.UserDaoImpl"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 代理對象 --><bean id="userDaoAgency" parent="base"><property name="target" ref="userDao" /></bean> </beans>

?第三種方式,使用攔截器。

轉載于:https://my.oschina.net/newchaos/blog/1831648

總結

以上是生活随笔為你收集整理的Spring发展历程总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

亚洲国产成人av在线观看 | 天天做天天爱天天爽综合网 | 免费观看的无遮挡av | 亚洲精品中文字幕久久久久 | 亚洲国产精品美女久久久久 | 国产精品毛多多水多 | 无码播放一区二区三区 | 亚洲 另类 在线 欧美 制服 | 国产一区二区三区影院 | av无码电影一区二区三区 | 国产舌乚八伦偷品w中 | 国产综合久久久久鬼色 | 久久精品无码一区二区三区 | 久久精品人妻少妇一区二区三区 | 亚洲精品午夜国产va久久成人 | 亚洲国产精品成人久久蜜臀 | 国产精品久久久久久亚洲毛片 | 欧美刺激性大交 | 国产综合色产在线精品 | 波多野结衣av在线观看 | 亚洲一区二区三区在线观看网站 | 娇妻被黑人粗大高潮白浆 | 国产精品二区一区二区aⅴ污介绍 | 欧美 日韩 亚洲 在线 | 国产福利视频一区二区 | 欧美人与禽猛交狂配 | 一本一道久久综合久久 | 午夜肉伦伦影院 | 国产乱码精品一品二品 | 久久人人97超碰a片精品 | 亚洲欧洲日本无在线码 | 日日躁夜夜躁狠狠躁 | 牲欲强的熟妇农村老妇女视频 | 无码人妻出轨黑人中文字幕 | 国产一区二区三区影院 | 欧美日本免费一区二区三区 | 亚洲中文字幕va福利 | 成人片黄网站色大片免费观看 | 国产在热线精品视频 | 国色天香社区在线视频 | 亚洲另类伦春色综合小说 | 欧美性猛交xxxx富婆 | 国产一区二区三区四区五区加勒比 | 久9re热视频这里只有精品 | 欧美 丝袜 自拍 制服 另类 | 精品偷自拍另类在线观看 | 内射爽无广熟女亚洲 | 欧美精品国产综合久久 | 久久久久se色偷偷亚洲精品av | 国内精品久久久久久中文字幕 | 国产三级久久久精品麻豆三级 | 国产精品手机免费 | 亚洲自偷自拍另类第1页 | 精品久久久久香蕉网 | 亚洲a无码综合a国产av中文 | 亚洲色无码一区二区三区 | 精品国产精品久久一区免费式 | 亚洲欧美日韩成人高清在线一区 | 国产精品毛片一区二区 | 久久久国产精品无码免费专区 | 成人免费视频一区二区 | 高清不卡一区二区三区 | 成 人影片 免费观看 | 人妻少妇被猛烈进入中文字幕 | 中文无码精品a∨在线观看不卡 | 欧美人与善在线com | 国产亚洲精品久久久久久大师 | 综合激情五月综合激情五月激情1 | 色窝窝无码一区二区三区色欲 | 性色欲情网站iwww九文堂 | 老子影院午夜伦不卡 | 少妇性俱乐部纵欲狂欢电影 | 久久这里只有精品视频9 | 久久精品丝袜高跟鞋 | 亚洲 激情 小说 另类 欧美 | 国产艳妇av在线观看果冻传媒 | 国产亚洲精品久久久久久 | 国产黄在线观看免费观看不卡 | 久久久久亚洲精品男人的天堂 | 国产精品久久久av久久久 | 又粗又大又硬毛片免费看 | 丝袜美腿亚洲一区二区 | 人妻少妇精品视频专区 | 美女极度色诱视频国产 | 国产亚洲tv在线观看 | 国内精品一区二区三区不卡 | 午夜精品一区二区三区的区别 | 日韩欧美群交p片內射中文 | 日韩精品a片一区二区三区妖精 | 日韩欧美中文字幕在线三区 | 久久精品国产日本波多野结衣 | 四虎影视成人永久免费观看视频 | 亚洲欧美精品aaaaaa片 | 精品国产乱码久久久久乱码 | 久久久久久久久888 | 久久综合九色综合97网 | 激情综合激情五月俺也去 | 久久97精品久久久久久久不卡 | 人妻尝试又大又粗久久 | 在线а√天堂中文官网 | 国产激情一区二区三区 | av在线亚洲欧洲日产一区二区 | 在线播放亚洲第一字幕 | 老熟妇乱子伦牲交视频 | 好爽又高潮了毛片免费下载 | 熟女少妇在线视频播放 | 永久免费精品精品永久-夜色 | 亚洲日韩av片在线观看 | 人妻少妇被猛烈进入中文字幕 | 欧美日韩亚洲国产精品 | 亚洲欧美精品aaaaaa片 | 亚洲综合另类小说色区 | 亚洲欧美日韩成人高清在线一区 | 正在播放老肥熟妇露脸 | 午夜精品久久久久久久 | 无码人妻少妇伦在线电影 | 日韩人妻少妇一区二区三区 | 麻豆成人精品国产免费 | 夜夜高潮次次欢爽av女 | 曰韩少妇内射免费播放 | 3d动漫精品啪啪一区二区中 | 麻豆精产国品 | 青青久在线视频免费观看 | 好男人社区资源 | 大胆欧美熟妇xx | 日本护士毛茸茸高潮 | 妺妺窝人体色www婷婷 | 疯狂三人交性欧美 | 蜜桃视频插满18在线观看 | 日本大乳高潮视频在线观看 | 日韩成人一区二区三区在线观看 | 亚洲熟妇色xxxxx亚洲 | 波多野结衣高清一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 日韩精品a片一区二区三区妖精 | 亚洲区小说区激情区图片区 | 日本熟妇人妻xxxxx人hd | a国产一区二区免费入口 | 在线播放无码字幕亚洲 | 精品国产麻豆免费人成网站 | 久久久久久久久蜜桃 | 麻豆国产97在线 | 欧洲 | 国产在线精品一区二区三区直播 | 日韩 欧美 动漫 国产 制服 | 无码国模国产在线观看 | 国产精品99久久精品爆乳 | 国产激情精品一区二区三区 | 亚洲中文字幕无码一久久区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 丝袜 中出 制服 人妻 美腿 | 国产美女极度色诱视频www | 国产精品无码一区二区三区不卡 | 巨爆乳无码视频在线观看 | 18无码粉嫩小泬无套在线观看 | 夜夜夜高潮夜夜爽夜夜爰爰 | 香港三级日本三级妇三级 | 午夜精品一区二区三区在线观看 | 成熟女人特级毛片www免费 | 精品偷自拍另类在线观看 | 帮老师解开蕾丝奶罩吸乳网站 | 99精品无人区乱码1区2区3区 | 无遮无挡爽爽免费视频 | 国产亚洲人成a在线v网站 | 蜜桃av抽搐高潮一区二区 | 亚洲精品久久久久中文第一幕 | 日本一区二区三区免费播放 | 乱人伦人妻中文字幕无码 | 波多野42部无码喷潮在线 | 久久精品中文字幕一区 | 人人妻人人澡人人爽精品欧美 | 成人亚洲精品久久久久软件 | 国产人妖乱国产精品人妖 | 日韩欧美成人免费观看 | 人人超人人超碰超国产 | 99riav国产精品视频 | 99久久精品国产一区二区蜜芽 | 国产亚洲精品久久久久久 | 亚洲七七久久桃花影院 | 日本乱偷人妻中文字幕 | 亚洲の无码国产の无码影院 | 色狠狠av一区二区三区 | 99久久精品午夜一区二区 | 少妇人妻大乳在线视频 | 日韩少妇白浆无码系列 | 久久国产精品偷任你爽任你 | 欧美肥老太牲交大战 | 波多野结衣av一区二区全免费观看 | 欧美三级不卡在线观看 | 中文字幕+乱码+中文字幕一区 | 少妇激情av一区二区 | 成熟女人特级毛片www免费 | 久久久无码中文字幕久... | 成人无码影片精品久久久 | 成人无码视频免费播放 | 美女黄网站人色视频免费国产 | 亚无码乱人伦一区二区 | 久久综合香蕉国产蜜臀av | 精品午夜福利在线观看 | 无码精品国产va在线观看dvd | 国产在线aaa片一区二区99 | 波多野结衣av一区二区全免费观看 | 天下第一社区视频www日本 | 强伦人妻一区二区三区视频18 | 久久久久国色av免费观看性色 | 免费人成在线视频无码 | 国产日产欧产精品精品app | 给我免费的视频在线观看 | 国内精品人妻无码久久久影院 | 99在线 | 亚洲 | 亚洲色欲色欲天天天www | 性欧美videos高清精品 | 亚洲精品成a人在线观看 | 亚洲色无码一区二区三区 | 亚无码乱人伦一区二区 | 国产av人人夜夜澡人人爽麻豆 | 亚洲人成无码网www | 中文字幕无码免费久久99 | 国产亚洲人成在线播放 | 人妻少妇精品视频专区 | 真人与拘做受免费视频 | 欧美老人巨大xxxx做受 | aⅴ在线视频男人的天堂 | 亚拍精品一区二区三区探花 | 少妇性荡欲午夜性开放视频剧场 | 国产精品久久久久无码av色戒 | 男女下面进入的视频免费午夜 | 久久精品视频在线看15 | 国产sm调教视频在线观看 | 丁香啪啪综合成人亚洲 | 亚洲精品国产品国语在线观看 | 亚洲国产精华液网站w | 少妇厨房愉情理9仑片视频 | 狠狠色丁香久久婷婷综合五月 | 国产sm调教视频在线观看 | 98国产精品综合一区二区三区 | av人摸人人人澡人人超碰下载 | 久久精品一区二区三区四区 | 国产亚洲精品久久久久久国模美 | 97久久国产亚洲精品超碰热 | 日韩av无码一区二区三区不卡 | 一本一道久久综合久久 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 国产午夜亚洲精品不卡 | 国产无遮挡又黄又爽免费视频 | 中文字幕+乱码+中文字幕一区 | 国内老熟妇对白xxxxhd | 国产精品久久久久9999小说 | 对白脏话肉麻粗话av | 久久久久se色偷偷亚洲精品av | 亚洲人成网站在线播放942 | 免费视频欧美无人区码 | 国产免费久久久久久无码 | 全黄性性激高免费视频 | 一区二区三区乱码在线 | 欧洲 | 午夜精品一区二区三区在线观看 | 国产又粗又硬又大爽黄老大爷视 | 国产熟妇另类久久久久 | 亚洲一区二区三区含羞草 | 国产一区二区不卡老阿姨 | 国产成人久久精品流白浆 | 国产精品国产三级国产专播 | 国产亚洲欧美日韩亚洲中文色 | 亚洲一区二区三区香蕉 | 老熟女重囗味hdxx69 | 天堂无码人妻精品一区二区三区 | 无码人妻精品一区二区三区下载 | 最近的中文字幕在线看视频 | 久久精品国产一区二区三区肥胖 | 色综合久久久久综合一本到桃花网 | 国产亚洲精品久久久久久 | 四虎永久在线精品免费网址 | 亚洲日韩av片在线观看 | 欧美一区二区三区视频在线观看 | 高潮毛片无遮挡高清免费 | 亚洲欧美精品伊人久久 | 国产精品久久久久9999小说 | 国产美女极度色诱视频www | 熟女体下毛毛黑森林 | 国产人成高清在线视频99最全资源 | 国产亚洲欧美日韩亚洲中文色 | 少妇被粗大的猛进出69影院 | 狠狠亚洲超碰狼人久久 | 中文毛片无遮挡高清免费 | 国产成人综合在线女婷五月99播放 | 日韩欧美中文字幕公布 | 国产人成高清在线视频99最全资源 | 亚洲s色大片在线观看 | 精品乱子伦一区二区三区 | 午夜福利不卡在线视频 | 日韩人妻系列无码专区 | 无码人妻出轨黑人中文字幕 | 无码人妻久久一区二区三区不卡 | 国产黄在线观看免费观看不卡 | 中文字幕无码免费久久9一区9 | 亚洲一区二区观看播放 | 亚洲日韩精品欧美一区二区 | 国内少妇偷人精品视频 | 国产精品嫩草久久久久 | 免费无码的av片在线观看 | 天天av天天av天天透 | 国产sm调教视频在线观看 | 亚洲乱亚洲乱妇50p | www国产精品内射老师 | 久久精品国产精品国产精品污 | 国内精品九九久久久精品 | 激情亚洲一区国产精品 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲日本一区二区三区在线 | 欧美激情一区二区三区成人 | 精品成人av一区二区三区 | 无码av中文字幕免费放 | 午夜免费福利小电影 | 亚洲aⅴ无码成人网站国产app | 色噜噜亚洲男人的天堂 | 欧美性色19p | 蜜臀av无码人妻精品 | 中文字幕无码免费久久9一区9 | 亚洲色欲久久久综合网东京热 | 大地资源网第二页免费观看 | 波多野结衣一区二区三区av免费 | 黄网在线观看免费网站 | 午夜福利一区二区三区在线观看 | 日本护士xxxxhd少妇 | 99国产欧美久久久精品 | 中国大陆精品视频xxxx | 国产亚洲欧美在线专区 | 2019午夜福利不卡片在线 | 久久综合九色综合97网 | 国产精品久久久久久久影院 | 国产精品无码mv在线观看 | 西西人体www44rt大胆高清 | 亚洲精品久久久久中文第一幕 | 亚洲日本一区二区三区在线 | 黑人巨大精品欧美一区二区 | 久久精品国产一区二区三区肥胖 | 久久午夜无码鲁丝片秋霞 | 77777熟女视频在线观看 а天堂中文在线官网 | 天天av天天av天天透 | 99久久婷婷国产综合精品青草免费 | 国产精品久久久久影院嫩草 | 午夜不卡av免费 一本久久a久久精品vr综合 | 久激情内射婷内射蜜桃人妖 | 国产精品丝袜黑色高跟鞋 | 久久综合狠狠综合久久综合88 | 亚洲熟妇色xxxxx亚洲 | 久久综合给久久狠狠97色 | 欧美日韩色另类综合 | 99久久精品日本一区二区免费 | 欧美日韩视频无码一区二区三 | 熟妇人妻无乱码中文字幕 | 国产精品香蕉在线观看 | 国产精品a成v人在线播放 | 欧美人与牲动交xxxx | 在线播放无码字幕亚洲 | 国产精品视频免费播放 | 国产成人一区二区三区在线观看 | 最近的中文字幕在线看视频 | 国色天香社区在线视频 | 久久精品丝袜高跟鞋 | 秋霞成人午夜鲁丝一区二区三区 | 久久精品国产99精品亚洲 | 曰韩无码二三区中文字幕 | 久久午夜无码鲁丝片午夜精品 | 国产人妻精品午夜福利免费 | 自拍偷自拍亚洲精品10p | 亚洲啪av永久无码精品放毛片 | 国产做国产爱免费视频 | 大地资源网第二页免费观看 | 成人三级无码视频在线观看 | 牛和人交xxxx欧美 | 亚洲人亚洲人成电影网站色 | 老太婆性杂交欧美肥老太 | 成人试看120秒体验区 | 国产亚洲精品久久久久久大师 | 欧美性生交xxxxx久久久 | 亚洲 a v无 码免 费 成 人 a v | 色窝窝无码一区二区三区色欲 | 国产美女极度色诱视频www | 日日碰狠狠丁香久燥 | 香蕉久久久久久av成人 | 人妻无码久久精品人妻 | 亚洲精品国产精品乱码视色 | 国内精品人妻无码久久久影院蜜桃 | 色欲人妻aaaaaaa无码 | 少妇无码av无码专区在线观看 | 性欧美videos高清精品 | 婷婷五月综合缴情在线视频 | 粗大的内捧猛烈进出视频 | 曰韩无码二三区中文字幕 | 日韩无码专区 | 熟妇人妻激情偷爽文 | 亚洲区欧美区综合区自拍区 | 免费国产成人高清在线观看网站 | 精品国产一区二区三区四区 | 亚洲精品久久久久久一区二区 | 亚洲中文字幕av在天堂 | 蜜桃无码一区二区三区 | 日韩精品一区二区av在线 | 天堂а√在线中文在线 | 成在人线av无码免费 | 国产明星裸体无码xxxx视频 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 久久97精品久久久久久久不卡 | 激情内射亚州一区二区三区爱妻 | aⅴ在线视频男人的天堂 | 精品厕所偷拍各类美女tp嘘嘘 | 亚洲国产精品久久人人爱 | 熟妇女人妻丰满少妇中文字幕 | 精品国产aⅴ无码一区二区 | 性做久久久久久久免费看 | 国产精品亚洲lv粉色 | 宝宝好涨水快流出来免费视频 | 久久久久亚洲精品男人的天堂 | 特大黑人娇小亚洲女 | 好屌草这里只有精品 | 欧美自拍另类欧美综合图片区 | 成人欧美一区二区三区 | 久久亚洲a片com人成 | 一本久久a久久精品vr综合 | 色一情一乱一伦一视频免费看 | 国产精品免费大片 | 国产精品无码一区二区桃花视频 | 日本欧美一区二区三区乱码 | 久久综合久久自在自线精品自 | 狠狠色噜噜狠狠狠狠7777米奇 | 熟女少妇在线视频播放 | 国产绳艺sm调教室论坛 | 日本大乳高潮视频在线观看 | 国产精品沙发午睡系列 | 欧美亚洲日韩国产人成在线播放 | 日本乱人伦片中文三区 | 亚洲 高清 成人 动漫 | 国产卡一卡二卡三 | 国产香蕉尹人综合在线观看 | 一本色道久久综合狠狠躁 | 国产午夜无码精品免费看 | 国产精品人人爽人人做我的可爱 | 内射巨臀欧美在线视频 | 日韩成人一区二区三区在线观看 | 高中生自慰www网站 | 国产激情无码一区二区 | 久久精品国产一区二区三区肥胖 | 国产免费久久久久久无码 | 又大又硬又爽免费视频 | 久久精品女人天堂av免费观看 | 国产色在线 | 国产 | 日本精品人妻无码免费大全 | 久久综合给久久狠狠97色 | 婷婷丁香五月天综合东京热 | 精品亚洲成av人在线观看 | 97久久精品无码一区二区 | 无码免费一区二区三区 | 久久久久久亚洲精品a片成人 | 在线看片无码永久免费视频 | 人妻天天爽夜夜爽一区二区 | 无码人妻av免费一区二区三区 | 麻豆成人精品国产免费 | 夜夜夜高潮夜夜爽夜夜爰爰 | aⅴ亚洲 日韩 色 图网站 播放 | 午夜精品久久久久久久 | 亚洲精品一区二区三区四区五区 | 特黄特色大片免费播放器图片 | 熟女俱乐部五十路六十路av | 麻豆国产丝袜白领秘书在线观看 | 国产无遮挡又黄又爽免费视频 | 无码国内精品人妻少妇 | 国产av无码专区亚洲awww | 亚洲中文字幕无码中文字在线 | 在线亚洲高清揄拍自拍一品区 | 人人爽人人爽人人片av亚洲 | 伊在人天堂亚洲香蕉精品区 | 久久久国产精品无码免费专区 | 亚洲人交乣女bbw | 欧美第一黄网免费网站 | 欧美怡红院免费全部视频 | aⅴ亚洲 日韩 色 图网站 播放 | 久久伊人色av天堂九九小黄鸭 | 精品国产青草久久久久福利 | 国产日产欧产精品精品app | 天海翼激烈高潮到腰振不止 | 在线亚洲高清揄拍自拍一品区 | 国产香蕉尹人视频在线 | 狠狠亚洲超碰狼人久久 | 无码精品人妻一区二区三区av | 人妻无码αv中文字幕久久琪琪布 | 天海翼激烈高潮到腰振不止 | 国产极品视觉盛宴 | 狠狠噜狠狠狠狠丁香五月 | 欧美丰满熟妇xxxx | 3d动漫精品啪啪一区二区中 | 99久久精品国产一区二区蜜芽 | 亚洲精品国产精品乱码视色 | 久久久精品国产sm最大网站 | 俺去俺来也www色官网 | 亚洲精品中文字幕乱码 | 国产尤物精品视频 | 搡女人真爽免费视频大全 | 无码精品国产va在线观看dvd | 男人的天堂av网站 | av在线亚洲欧洲日产一区二区 | 日韩精品a片一区二区三区妖精 | www国产亚洲精品久久久日本 | 水蜜桃亚洲一二三四在线 | 午夜精品一区二区三区在线观看 | 亚洲成a人片在线观看无码3d | 亚洲乱码中文字幕在线 | 欧美日本精品一区二区三区 | av无码电影一区二区三区 | 无码成人精品区在线观看 | av在线亚洲欧洲日产一区二区 | 亚洲小说图区综合在线 | 亚洲a无码综合a国产av中文 | 国产精品香蕉在线观看 | 真人与拘做受免费视频一 | 无套内谢的新婚少妇国语播放 | 国产艳妇av在线观看果冻传媒 | 久久综合给合久久狠狠狠97色 | 日本饥渴人妻欲求不满 | 又黄又爽又色的视频 | 欧美第一黄网免费网站 | 欧美日韩一区二区综合 | 少妇无套内谢久久久久 | 欧美老妇交乱视频在线观看 | 在线a亚洲视频播放在线观看 | 国产精品免费大片 | 亚洲午夜久久久影院 | 无码人妻丰满熟妇区毛片18 | 黑人玩弄人妻中文在线 | 精品国产成人一区二区三区 | 欧美自拍另类欧美综合图片区 | 好男人社区资源 | 久久综合给合久久狠狠狠97色 | 精品国产av色一区二区深夜久久 | 亚洲 另类 在线 欧美 制服 | 久久 国产 尿 小便 嘘嘘 | 国内揄拍国内精品人妻 | 欧美 亚洲 国产 另类 | 日本www一道久久久免费榴莲 | 亚洲精品中文字幕久久久久 | 中文字幕乱码中文乱码51精品 | 欧美怡红院免费全部视频 | 精品无码一区二区三区爱欲 | 久久99精品国产麻豆蜜芽 | а天堂中文在线官网 | 精品无码一区二区三区爱欲 | 国产精品视频免费播放 | 老司机亚洲精品影院无码 | 精品成在人线av无码免费看 | 精品乱子伦一区二区三区 | 色妞www精品免费视频 | 国产精品自产拍在线观看 | а√资源新版在线天堂 | 天天拍夜夜添久久精品大 | 久久国产精品精品国产色婷婷 | 日本又色又爽又黄的a片18禁 | 亚洲精品成a人在线观看 | 一二三四社区在线中文视频 | 在线 国产 欧美 亚洲 天堂 | 国产成人精品优优av | 亚洲一区二区三区播放 | 国产做国产爱免费视频 | 欧美丰满熟妇xxxx性ppx人交 | 国产内射爽爽大片视频社区在线 | 国产乱人伦av在线无码 | www国产精品内射老师 | 欧美亚洲日韩国产人成在线播放 | 欧美性生交xxxxx久久久 | 国产美女精品一区二区三区 | 亚洲精品一区二区三区四区五区 | 18禁止看的免费污网站 | 亚洲爆乳大丰满无码专区 | 亚洲精品午夜无码电影网 | 亚洲熟妇色xxxxx欧美老妇 | 熟妇女人妻丰满少妇中文字幕 | 人人澡人人妻人人爽人人蜜桃 | 日本高清一区免费中文视频 | 一二三四在线观看免费视频 | 国产卡一卡二卡三 | 中文无码精品a∨在线观看不卡 | 国内精品一区二区三区不卡 | 亚洲乱亚洲乱妇50p | 亚洲人成无码网www | 樱花草在线播放免费中文 | 欧美人与物videos另类 | 国产亚洲tv在线观看 | 国语精品一区二区三区 | 国色天香社区在线视频 | 中文字幕人成乱码熟女app | 丝袜美腿亚洲一区二区 | 亚洲综合精品香蕉久久网 | 爱做久久久久久 | 嫩b人妻精品一区二区三区 | 牲欲强的熟妇农村老妇女 | 露脸叫床粗话东北少妇 | 亚洲中文字幕无码中字 | 久久99精品久久久久久动态图 | 日本精品久久久久中文字幕 | 99久久无码一区人妻 | 清纯唯美经典一区二区 | 久久成人a毛片免费观看网站 | 亚洲 欧美 激情 小说 另类 | 噜噜噜亚洲色成人网站 | 欧美国产日韩亚洲中文 | 全球成人中文在线 | 国内老熟妇对白xxxxhd | 黑人巨大精品欧美一区二区 | 夜夜高潮次次欢爽av女 | 中文字幕 亚洲精品 第1页 | 男女作爱免费网站 | 久久精品中文字幕大胸 | 人妻少妇精品无码专区二区 | 中文字幕无线码 | 精品无码国产一区二区三区av | 麻豆蜜桃av蜜臀av色欲av | 欧美色就是色 | 亚洲gv猛男gv无码男同 | 丰满少妇弄高潮了www | 亚洲国产精品久久久天堂 | 夜夜高潮次次欢爽av女 | 青草视频在线播放 | 伊人久久大香线蕉亚洲 | 中文精品久久久久人妻不卡 | 欧洲vodafone精品性 | 亚洲人成网站色7799 | 亚洲熟熟妇xxxx | 无码午夜成人1000部免费视频 | 久久99精品国产.久久久久 | 国产精品久久久久久亚洲毛片 | 图片小说视频一区二区 | 国产黑色丝袜在线播放 | 久久久久99精品国产片 | 久久伊人色av天堂九九小黄鸭 | 内射巨臀欧美在线视频 | 377p欧洲日本亚洲大胆 | 婷婷综合久久中文字幕蜜桃三电影 | 精品久久久无码中文字幕 | 99精品无人区乱码1区2区3区 | 国产亚洲精品久久久ai换 | 国产av一区二区精品久久凹凸 | 学生妹亚洲一区二区 | 激情内射日本一区二区三区 | 骚片av蜜桃精品一区 | 无码一区二区三区在线观看 | 99久久99久久免费精品蜜桃 | 亚洲精品无码人妻无码 | 澳门永久av免费网站 | 最新国产乱人伦偷精品免费网站 | 国产亚洲视频中文字幕97精品 | 国产色精品久久人妻 | 欧美熟妇另类久久久久久多毛 | 无码人中文字幕 | 亚洲国产精品无码一区二区三区 | 内射白嫩少妇超碰 | 亚洲の无码国产の无码影院 | 亚洲 欧美 激情 小说 另类 | 无码免费一区二区三区 | 亚洲欧美精品aaaaaa片 | 国产电影无码午夜在线播放 | 特黄特色大片免费播放器图片 | 欧美日韩精品 | 精品 日韩 国产 欧美 视频 | 97久久超碰中文字幕 | 国产精品丝袜黑色高跟鞋 | 男女性色大片免费网站 | 久久99精品久久久久婷婷 | 日日干夜夜干 | 国产精品多人p群无码 | 综合人妻久久一区二区精品 | 狂野欧美性猛交免费视频 | 狠狠躁日日躁夜夜躁2020 | 又色又爽又黄的美女裸体网站 | 国产精品亚洲五月天高清 | 国产成人无码av在线影院 | 亚洲s码欧洲m码国产av | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲人成网站在线播放942 | 小鲜肉自慰网站xnxx | 日韩av无码一区二区三区 | 国产卡一卡二卡三 | 伊人久久大香线焦av综合影院 | 国产精品怡红院永久免费 | 国精产品一区二区三区 | 精品日本一区二区三区在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | 国产sm调教视频在线观看 | 久久精品国产精品国产精品污 | 99久久精品国产一区二区蜜芽 | 性啪啪chinese东北女人 | 久久国产精品二国产精品 | 国产精品igao视频网 | 未满小14洗澡无码视频网站 | 97夜夜澡人人爽人人喊中国片 | 领导边摸边吃奶边做爽在线观看 | 午夜精品久久久内射近拍高清 | 成人精品一区二区三区中文字幕 | 国产一精品一av一免费 | 婷婷丁香五月天综合东京热 | 日本免费一区二区三区最新 | 国产三级久久久精品麻豆三级 | 中文无码精品a∨在线观看不卡 | 中文字幕av日韩精品一区二区 | 日本免费一区二区三区最新 | 精品国产成人一区二区三区 | 亚洲一区二区三区含羞草 | 内射欧美老妇wbb | 国产精品视频免费播放 | 亚洲gv猛男gv无码男同 | 国产精品igao视频网 | 亚洲 另类 在线 欧美 制服 | 人人妻人人澡人人爽人人精品 | 狠狠躁日日躁夜夜躁2020 | 男人扒开女人内裤强吻桶进去 | 中文字幕人妻无码一区二区三区 | 骚片av蜜桃精品一区 | 亚洲一区二区观看播放 | 国产午夜精品一区二区三区嫩草 | 无码纯肉视频在线观看 | 国产亚洲视频中文字幕97精品 | 美女黄网站人色视频免费国产 | 国产乱码精品一品二品 | 男女猛烈xx00免费视频试看 | 国产激情精品一区二区三区 | 日日碰狠狠躁久久躁蜜桃 | 国精品人妻无码一区二区三区蜜柚 | 2020最新国产自产精品 | 欧美35页视频在线观看 | 欧美亚洲日韩国产人成在线播放 | 国产真人无遮挡作爱免费视频 | 日本一卡2卡3卡四卡精品网站 | 性欧美熟妇videofreesex | 国产精品视频免费播放 | 色五月五月丁香亚洲综合网 | 日本大香伊一区二区三区 | 奇米影视888欧美在线观看 | 东京热男人av天堂 | 性生交大片免费看l | 特级做a爰片毛片免费69 | 特黄特色大片免费播放器图片 | 无人区乱码一区二区三区 | 日韩在线不卡免费视频一区 | 久久久精品成人免费观看 | 久久无码中文字幕免费影院蜜桃 | 久久国产精品_国产精品 | 国产乱人无码伦av在线a | 国产热a欧美热a在线视频 | 亚洲自偷精品视频自拍 | 亚洲综合久久一区二区 | 欧美xxxxx精品 | 国产亚洲人成在线播放 | 国产精品嫩草久久久久 | 久久99精品久久久久久 | 国产欧美精品一区二区三区 | 欧洲欧美人成视频在线 | 亚洲色在线无码国产精品不卡 | 欧美日韩在线亚洲综合国产人 | 高潮喷水的毛片 | 久久aⅴ免费观看 | 自拍偷自拍亚洲精品10p | 久青草影院在线观看国产 | 亚洲码国产精品高潮在线 | 国产香蕉尹人综合在线观看 | 欧美xxxx黑人又粗又长 | 亚洲色成人中文字幕网站 | 日产国产精品亚洲系列 | 奇米影视7777久久精品 | 国产麻豆精品一区二区三区v视界 | 精品日本一区二区三区在线观看 | 一本久久a久久精品vr综合 | 欧美放荡的少妇 | 欧美性黑人极品hd | 欧美日韩人成综合在线播放 | 久久精品国产精品国产精品污 | 久久无码专区国产精品s | 无码吃奶揉捏奶头高潮视频 | 国精产品一品二品国精品69xx | 红桃av一区二区三区在线无码av | 精品国产一区av天美传媒 | 熟妇人妻无码xxx视频 | 在线天堂新版最新版在线8 | 亚洲成a人一区二区三区 | 亚洲国产精品无码久久久久高潮 | 爱做久久久久久 | 131美女爱做视频 | 久久久av男人的天堂 | 亚洲男人av天堂午夜在 | 亚洲日韩精品欧美一区二区 | 日本va欧美va欧美va精品 | 精品无码成人片一区二区98 | 日日摸日日碰夜夜爽av | 少妇高潮一区二区三区99 | 爆乳一区二区三区无码 | 六月丁香婷婷色狠狠久久 | 99久久无码一区人妻 | 超碰97人人射妻 | 婷婷五月综合激情中文字幕 | 免费观看又污又黄的网站 | 国产97色在线 | 免 | 精品久久久久久人妻无码中文字幕 | 国产亚洲视频中文字幕97精品 | 国产人妻精品午夜福利免费 | 狠狠色欧美亚洲狠狠色www | 亚洲欧美日韩综合久久久 | 亚洲综合久久一区二区 | 人人妻在人人 | 久久国产自偷自偷免费一区调 | 色五月丁香五月综合五月 | 97色伦图片97综合影院 | 国产一区二区不卡老阿姨 | 大乳丰满人妻中文字幕日本 | 成人精品一区二区三区中文字幕 | 亚洲人成网站免费播放 | 2020久久香蕉国产线看观看 | 亚洲人成无码网www | 粉嫩少妇内射浓精videos | 狠狠噜狠狠狠狠丁香五月 | 精品国产一区二区三区av 性色 | 乱码午夜-极国产极内射 | 久久99精品国产麻豆 | 日韩精品a片一区二区三区妖精 | 天天躁日日躁狠狠躁免费麻豆 | 图片小说视频一区二区 | 一本大道久久东京热无码av | 高清国产亚洲精品自在久久 | 国产办公室秘书无码精品99 | 人人妻人人澡人人爽人人精品浪潮 | 青青久在线视频免费观看 | 男女作爱免费网站 | 国产一区二区三区影院 | 少妇无码吹潮 | 亚洲一区二区三区偷拍女厕 | 成人欧美一区二区三区黑人免费 | 伊人久久大香线蕉午夜 | 国产无遮挡吃胸膜奶免费看 | 激情五月综合色婷婷一区二区 | 亚洲国产精品一区二区第一页 | 日本熟妇大屁股人妻 | 无码av最新清无码专区吞精 | 性史性农村dvd毛片 | yw尤物av无码国产在线观看 | 精品久久久中文字幕人妻 | 在线欧美精品一区二区三区 | 精品无人区无码乱码毛片国产 | 中文字幕日产无线码一区 | 亚洲精品成人av在线 | 国产亚洲视频中文字幕97精品 | 清纯唯美经典一区二区 | 水蜜桃色314在线观看 | 人人澡人人妻人人爽人人蜜桃 | 欧洲精品码一区二区三区免费看 | 久久综合激激的五月天 | 真人与拘做受免费视频 | 国产一区二区三区日韩精品 | 亚洲大尺度无码无码专区 | 国产免费久久久久久无码 | 国产精品99久久精品爆乳 | 免费看男女做好爽好硬视频 | 永久免费观看美女裸体的网站 | 国产无av码在线观看 | 88国产精品欧美一区二区三区 | 亚洲无人区一区二区三区 | 欧美成人免费全部网站 | 欧美性猛交内射兽交老熟妇 | 女人和拘做爰正片视频 | 国产在线无码精品电影网 | 久久久av男人的天堂 | 成人免费视频视频在线观看 免费 | 男人扒开女人内裤强吻桶进去 | 强辱丰满人妻hd中文字幕 | 国产国语老龄妇女a片 | 国产xxx69麻豆国语对白 | 国产美女精品一区二区三区 | 国产亚洲精品久久久久久 | 久久久婷婷五月亚洲97号色 | 55夜色66夜色国产精品视频 | 纯爱无遮挡h肉动漫在线播放 | 欧美野外疯狂做受xxxx高潮 | 久久国产精品偷任你爽任你 | 亚洲综合另类小说色区 | 久激情内射婷内射蜜桃人妖 | 欧美35页视频在线观看 | 丰腴饱满的极品熟妇 | 激情国产av做激情国产爱 | 色偷偷人人澡人人爽人人模 | 亚洲大尺度无码无码专区 | 亚洲精品一区三区三区在线观看 | 天天躁夜夜躁狠狠是什么心态 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲自偷自偷在线制服 | 未满小14洗澡无码视频网站 | 人妻有码中文字幕在线 | 色婷婷av一区二区三区之红樱桃 | 帮老师解开蕾丝奶罩吸乳网站 | 人妻中文无码久热丝袜 | 婷婷综合久久中文字幕蜜桃三电影 | 黑人巨大精品欧美一区二区 | 久久国语露脸国产精品电影 | 精品无码国产自产拍在线观看蜜 | 精品厕所偷拍各类美女tp嘘嘘 | 骚片av蜜桃精品一区 | 国产精品办公室沙发 | 亚洲成a人片在线观看日本 | 久久人妻内射无码一区三区 | 麻豆av传媒蜜桃天美传媒 | 女人和拘做爰正片视频 | 在线观看欧美一区二区三区 | www国产亚洲精品久久网站 | 97夜夜澡人人爽人人喊中国片 | 欧美日韩一区二区免费视频 | 老熟妇乱子伦牲交视频 | 女高中生第一次破苞av | 成人无码精品1区2区3区免费看 | 香港三级日本三级妇三级 | www一区二区www免费 | 自拍偷自拍亚洲精品被多人伦好爽 | 午夜无码区在线观看 | 丰满人妻翻云覆雨呻吟视频 | 久久综合香蕉国产蜜臀av | 久久午夜夜伦鲁鲁片无码免费 | 人妻人人添人妻人人爱 | 日本免费一区二区三区最新 | 中文字幕无码免费久久9一区9 | 我要看www免费看插插视频 | 久久久久久a亚洲欧洲av冫 | 国内老熟妇对白xxxxhd | 亚洲成av人在线观看网址 | 精品少妇爆乳无码av无码专区 | 久青草影院在线观看国产 | 成在人线av无码免观看麻豆 | 久久亚洲精品成人无码 | 亚洲 a v无 码免 费 成 人 a v | 亚洲a无码综合a国产av中文 | 国产av无码专区亚洲a∨毛片 | 国产午夜无码视频在线观看 | 亚洲一区二区三区播放 | 俺去俺来也在线www色官网 | 亚洲成av人片在线观看无码不卡 | 男人的天堂av网站 | 精品国产一区二区三区av 性色 | 蜜桃臀无码内射一区二区三区 | 在线播放免费人成毛片乱码 | 秋霞特色aa大片 | 丰满护士巨好爽好大乳 | 亚欧洲精品在线视频免费观看 | 国产性生大片免费观看性 | 久久综合色之久久综合 | 女人高潮内射99精品 | 伊人久久婷婷五月综合97色 | 丰满少妇女裸体bbw | 亚洲人交乣女bbw | 亚洲爆乳精品无码一区二区三区 | 人妻天天爽夜夜爽一区二区 | 亚拍精品一区二区三区探花 | 欧美老妇交乱视频在线观看 | 免费看男女做好爽好硬视频 | 国产香蕉尹人视频在线 | 亚洲爆乳大丰满无码专区 | 亚洲性无码av中文字幕 | 日本又色又爽又黄的a片18禁 | 亚洲娇小与黑人巨大交 | 国产精品久久国产三级国 | 精品无码成人片一区二区98 | 欧美丰满熟妇xxxx | 无码国产色欲xxxxx视频 | 大乳丰满人妻中文字幕日本 | 大色综合色综合网站 | 牲欲强的熟妇农村老妇女 | 国产一区二区三区四区五区加勒比 | 嫩b人妻精品一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 久久zyz资源站无码中文动漫 | 国产在热线精品视频 | 国产欧美精品一区二区三区 | 久久精品女人的天堂av | 国产人妻人伦精品 | 99久久婷婷国产综合精品青草免费 | 国内少妇偷人精品视频免费 | 欧美日韩色另类综合 | 亚洲春色在线视频 | 一本久久伊人热热精品中文字幕 | 国产午夜福利亚洲第一 | 久久亚洲精品成人无码 | 少妇性俱乐部纵欲狂欢电影 | 麻花豆传媒剧国产免费mv在线 | 亚洲成av人片天堂网无码】 | 成人性做爰aaa片免费看 | 99视频精品全部免费免费观看 | 日日摸天天摸爽爽狠狠97 | 在线欧美精品一区二区三区 | 久久亚洲a片com人成 | 最新国产乱人伦偷精品免费网站 | 中文字幕+乱码+中文字幕一区 | 国产高潮视频在线观看 | 国产精品久久久av久久久 | 老太婆性杂交欧美肥老太 | 亚洲毛片av日韩av无码 | 亚洲精品无码人妻无码 | 久久精品国产一区二区三区 | 亚洲中文字幕乱码av波多ji | 亚洲无人区午夜福利码高清完整版 | 色综合天天综合狠狠爱 | 欧美人与禽zoz0性伦交 | 自拍偷自拍亚洲精品10p | 99麻豆久久久国产精品免费 | av无码久久久久不卡免费网站 | 岛国片人妻三上悠亚 | 国产精品欧美成人 | 女人被男人躁得好爽免费视频 | 国产明星裸体无码xxxx视频 | 色欲av亚洲一区无码少妇 | 免费人成网站视频在线观看 | 国产小呦泬泬99精品 | 亚洲人交乣女bbw | а√资源新版在线天堂 | 又黄又爽又色的视频 | 国产两女互慰高潮视频在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 人妻天天爽夜夜爽一区二区 | 国产偷抇久久精品a片69 | 在线 国产 欧美 亚洲 天堂 | 午夜男女很黄的视频 | 一本久道久久综合婷婷五月 | 亚洲日本一区二区三区在线 | 狠狠色噜噜狠狠狠狠7777米奇 | 超碰97人人做人人爱少妇 | 中文字幕人妻无码一夲道 | 日韩成人一区二区三区在线观看 | 一二三四在线观看免费视频 | 最近中文2019字幕第二页 | 成人无码影片精品久久久 | 国产成人无码av一区二区 | 综合激情五月综合激情五月激情1 | 久久精品女人的天堂av | 国产另类ts人妖一区二区 | 中文字幕日韩精品一区二区三区 | aⅴ在线视频男人的天堂 | 欧美性猛交内射兽交老熟妇 | 超碰97人人射妻 | 亚洲国产精品毛片av不卡在线 | 亚洲色成人中文字幕网站 | 国产精品-区区久久久狼 | 成人试看120秒体验区 | 2020久久香蕉国产线看观看 | 免费观看黄网站 | 九月婷婷人人澡人人添人人爽 | 天堂久久天堂av色综合 | 无码av最新清无码专区吞精 | 日本乱偷人妻中文字幕 | 无套内射视频囯产 | 亚洲午夜久久久影院 | 久久国语露脸国产精品电影 | 少妇性l交大片欧洲热妇乱xxx | 波多野结衣乳巨码无在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 3d动漫精品啪啪一区二区中 | 国产三级久久久精品麻豆三级 | 人妻无码久久精品人妻 | 人妻人人添人妻人人爱 | 妺妺窝人体色www婷婷 | 99精品视频在线观看免费 | 无码国模国产在线观看 | 亚洲色无码一区二区三区 | 色老头在线一区二区三区 | 国产97人人超碰caoprom | 六十路熟妇乱子伦 | 欧美高清在线精品一区 | 人妻与老人中文字幕 | 高潮毛片无遮挡高清免费 | 国产成人精品必看 | 伊人久久婷婷五月综合97色 | 国产性生交xxxxx无码 | 国产区女主播在线观看 | 成年美女黄网站色大免费全看 | 国内精品久久毛片一区二区 | 亚洲欧美日韩国产精品一区二区 | 给我免费的视频在线观看 | 欧美freesex黑人又粗又大 | 久久久久人妻一区精品色欧美 | 天堂а√在线中文在线 | 撕开奶罩揉吮奶头视频 | 曰本女人与公拘交酡免费视频 | 欧美 丝袜 自拍 制服 另类 | 亚洲精品中文字幕久久久久 | 亚洲精品成人福利网站 | 欧美35页视频在线观看 | 奇米影视7777久久精品人人爽 | 免费无码av一区二区 | 免费视频欧美无人区码 | 中文字幕无线码 | 麻豆精品国产精华精华液好用吗 | 欧美老妇交乱视频在线观看 | 国产人妻人伦精品1国产丝袜 | 亚洲国产综合无码一区 | 日本成熟视频免费视频 | 婷婷六月久久综合丁香 | 精品无码一区二区三区的天堂 | 精品国精品国产自在久国产87 | 久久久久久九九精品久 | 人妻插b视频一区二区三区 | 无码人妻少妇伦在线电影 | 国产熟女一区二区三区四区五区 | 欧美zoozzooz性欧美 | 国产精品久久久av久久久 | 2020久久超碰国产精品最新 | 国产精品无码mv在线观看 | av无码久久久久不卡免费网站 | 麻豆蜜桃av蜜臀av色欲av | 在线а√天堂中文官网 | 久久精品国产大片免费观看 | 国产午夜无码精品免费看 | 亚洲欧美日韩国产精品一区二区 | 亚洲一区二区三区无码久久 | 国产在热线精品视频 | 图片小说视频一区二区 | 牲欲强的熟妇农村老妇女 | 欧美喷潮久久久xxxxx | 国产极品美女高潮无套在线观看 | 无码国内精品人妻少妇 | 偷窥日本少妇撒尿chinese | 中文字幕色婷婷在线视频 | 国产亚洲精品久久久ai换 | 国产精品久久久久影院嫩草 | 最近的中文字幕在线看视频 | 亚洲一区av无码专区在线观看 | 午夜精品久久久久久久 | 强开小婷嫩苞又嫩又紧视频 | 少妇性l交大片欧洲热妇乱xxx | 国产亚洲精品久久久久久久久动漫 | 日本大乳高潮视频在线观看 | 成人av无码一区二区三区 | 久久精品人人做人人综合试看 | 日本又色又爽又黄的a片18禁 | 1000部夫妻午夜免费 | 亚拍精品一区二区三区探花 | 国产亚洲美女精品久久久2020 | 少妇无码一区二区二三区 | 色诱久久久久综合网ywww | 国产av久久久久精东av | 国产尤物精品视频 | 妺妺窝人体色www在线小说 | 中文字幕乱码人妻无码久久 | 日韩少妇白浆无码系列 | 国产成人精品视频ⅴa片软件竹菊 | 性欧美熟妇videofreesex | 国产艳妇av在线观看果冻传媒 | 国产乡下妇女做爰 | 影音先锋中文字幕无码 | 国产香蕉97碰碰久久人人 | 久久综合色之久久综合 | 色婷婷av一区二区三区之红樱桃 | 国产免费观看黄av片 | 无码人妻精品一区二区三区不卡 | 粗大的内捧猛烈进出视频 | 少妇厨房愉情理9仑片视频 | 亚洲男人av香蕉爽爽爽爽 | 国产色精品久久人妻 | 无码人妻黑人中文字幕 | 亚洲区小说区激情区图片区 | 精品无码国产自产拍在线观看蜜 | 国产人妻大战黑人第1集 | 5858s亚洲色大成网站www | 亚洲精品鲁一鲁一区二区三区 | 亚洲综合久久一区二区 | 国产黑色丝袜在线播放 | 性色欲情网站iwww九文堂 | 国产熟妇高潮叫床视频播放 | 丰满人妻被黑人猛烈进入 | 国产两女互慰高潮视频在线观看 | 国产精品人人爽人人做我的可爱 | 欧美国产日产一区二区 | 免费网站看v片在线18禁无码 | 97se亚洲精品一区 | 国产97在线 | 亚洲 | 国产极品视觉盛宴 | 久久精品中文字幕大胸 | 性欧美videos高清精品 | 成人欧美一区二区三区黑人 | 狠狠亚洲超碰狼人久久 | 成在人线av无码免费 | 中国大陆精品视频xxxx | 两性色午夜免费视频 | 国产猛烈高潮尖叫视频免费 | 在线看片无码永久免费视频 | 1000部啪啪未满十八勿入下载 | 思思久久99热只有频精品66 | 人人爽人人澡人人高潮 | 玩弄中年熟妇正在播放 | 学生妹亚洲一区二区 | 熟妇人妻无乱码中文字幕 | 波多野结衣av一区二区全免费观看 | 精品一区二区三区波多野结衣 | 波多野结衣av一区二区全免费观看 | 日本xxxx色视频在线观看免费 | av香港经典三级级 在线 | 亚洲国产欧美国产综合一区 | 久久国产自偷自偷免费一区调 | 国产深夜福利视频在线 | 国产麻豆精品一区二区三区v视界 | 国产激情综合五月久久 | 玩弄中年熟妇正在播放 | 日本丰满熟妇videos | 亚洲欧洲日本综合aⅴ在线 | 人人澡人人妻人人爽人人蜜桃 | 免费网站看v片在线18禁无码 | 香蕉久久久久久av成人 | 精品国产国产综合精品 | 日韩av激情在线观看 | 少妇高潮喷潮久久久影院 | 巨爆乳无码视频在线观看 | 曰韩少妇内射免费播放 | 久久久久亚洲精品中文字幕 | ass日本丰满熟妇pics | 97色伦图片97综合影院 | 色欲久久久天天天综合网精品 | 青青青手机频在线观看 | 天天躁夜夜躁狠狠是什么心态 | 性欧美牲交在线视频 | 日韩精品久久久肉伦网站 | 亚洲精品成a人在线观看 | www一区二区www免费 | 久久亚洲国产成人精品性色 | 综合网日日天干夜夜久久 | 婷婷丁香五月天综合东京热 | 亚洲成av人在线观看网址 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 红桃av一区二区三区在线无码av | 欧美三级a做爰在线观看 | 国产另类ts人妖一区二区 | 无人区乱码一区二区三区 | 水蜜桃色314在线观看 | 精品国产国产综合精品 | 人人爽人人爽人人片av亚洲 | 日本精品久久久久中文字幕 | 成年美女黄网站色大免费视频 | 色狠狠av一区二区三区 | 永久免费观看美女裸体的网站 | 俺去俺来也在线www色官网 | 亚洲精品无码人妻无码 | 天海翼激烈高潮到腰振不止 | 中文字幕乱码中文乱码51精品 | 熟女少妇人妻中文字幕 | 久久久久国色av免费观看性色 | 欧美性猛交xxxx富婆 | 亚洲阿v天堂在线 | 精品国产av色一区二区深夜久久 | www国产亚洲精品久久久日本 | 中文字幕无码日韩专区 | 国产成人亚洲综合无码 | 大肉大捧一进一出视频出来呀 | 亚洲欧美国产精品专区久久 | 一本大道伊人av久久综合 | 日韩av无码一区二区三区不卡 | 亚洲精品国产第一综合99久久 | 亚洲a无码综合a国产av中文 | 三上悠亚人妻中文字幕在线 | 欧美xxxxx精品 | 国产乱人伦av在线无码 | 熟妇人妻无乱码中文字幕 | 亚洲精品一区二区三区婷婷月 | 日本熟妇人妻xxxxx人hd | 国产人成高清在线视频99最全资源 | 亚洲精品无码国产 | 无码国产乱人伦偷精品视频 | 澳门永久av免费网站 | 日韩无码专区 | 日本丰满护士爆乳xxxx | 亚洲中文字幕无码中字 | 中文字幕亚洲情99在线 | 性欧美大战久久久久久久 | 老子影院午夜伦不卡 | 国产精品久久久久无码av色戒 | 久久久久久久人妻无码中文字幕爆 | 国产精品人人爽人人做我的可爱 | 精品人妻中文字幕有码在线 | 99久久婷婷国产综合精品青草免费 | 国产色在线 | 国产 | 牲欲强的熟妇农村老妇女视频 | 久久精品人妻少妇一区二区三区 | 精品国产成人一区二区三区 | 欧美国产日产一区二区 | 亚洲成a人片在线观看日本 | 国产乱子伦视频在线播放 | 国产熟妇高潮叫床视频播放 | 少妇被粗大的猛进出69影院 | 国产成人无码午夜视频在线观看 | 久久国产精品萌白酱免费 | 人人妻人人澡人人爽欧美一区 | 色妞www精品免费视频 | 日韩精品一区二区av在线 | 中文字幕乱码人妻二区三区 | 人妻少妇精品无码专区动漫 | 国产av一区二区精品久久凹凸 | 熟妇人妻无码xxx视频 | aⅴ亚洲 日韩 色 图网站 播放 | 清纯唯美经典一区二区 | 青青久在线视频免费观看 | 亚洲欧美国产精品久久 | 久久99久久99精品中文字幕 | 亚洲人交乣女bbw | 色狠狠av一区二区三区 | 色婷婷欧美在线播放内射 | 97久久精品无码一区二区 | 久久精品国产日本波多野结衣 | 亚洲自偷自拍另类第1页 | www国产亚洲精品久久网站 | 在线а√天堂中文官网 | 377p欧洲日本亚洲大胆 | 麻豆精品国产精华精华液好用吗 | 少妇人妻偷人精品无码视频 | 成人片黄网站色大片免费观看 | 55夜色66夜色国产精品视频 | 亚洲人成影院在线观看 | 欧美日韩亚洲国产精品 | 国产精品久久久久久亚洲影视内衣 | 国产美女精品一区二区三区 | 国产人成高清在线视频99最全资源 | 少妇无码av无码专区在线观看 | 国产欧美熟妇另类久久久 | 无码福利日韩神码福利片 | 国产精品久久久久7777 | 欧美老妇交乱视频在线观看 | 国产九九九九九九九a片 | 国产深夜福利视频在线 | 思思久久99热只有频精品66 | 日本饥渴人妻欲求不满 | 国产无遮挡又黄又爽免费视频 | 亚洲 a v无 码免 费 成 人 a v | 中文字幕乱码中文乱码51精品 | 欧美国产日韩久久mv | 国产亚洲精品久久久久久大师 | 国产精品久免费的黄网站 | 日韩精品成人一区二区三区 | 亚洲一区av无码专区在线观看 | 日韩精品无码免费一区二区三区 | 天堂无码人妻精品一区二区三区 | 97久久国产亚洲精品超碰热 | 在线精品国产一区二区三区 | 丰满岳乱妇在线观看中字无码 | 亚洲日韩av一区二区三区四区 | 性做久久久久久久久 | 日本精品人妻无码免费大全 | 国产人妻人伦精品1国产丝袜 | 一本加勒比波多野结衣 | 午夜精品久久久久久久 | 精品无码国产自产拍在线观看蜜 | 国产一区二区三区精品视频 | 国产亚洲精品久久久久久国模美 | 国产艳妇av在线观看果冻传媒 | 成 人 网 站国产免费观看 | 日日天干夜夜狠狠爱 | 国产欧美熟妇另类久久久 | av无码电影一区二区三区 | 中文字幕无码免费久久9一区9 | 亚洲人成影院在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲日韩av一区二区三区四区 | 日本一区二区三区免费播放 | 国产精品久久久久久久9999 | 丰满岳乱妇在线观看中字无码 | 国产极品美女高潮无套在线观看 | 欧美zoozzooz性欧美 | 国产亚洲人成a在线v网站 | 狠狠躁日日躁夜夜躁2020 | 中文字幕无线码免费人妻 | 亚拍精品一区二区三区探花 | 女人被爽到呻吟gif动态图视看 | 免费中文字幕日韩欧美 | 日本精品高清一区二区 | 蜜臀av在线播放 久久综合激激的五月天 | 久久久无码中文字幕久... | 久久国产36精品色熟妇 | 午夜精品一区二区三区在线观看 | 精品无码一区二区三区的天堂 | 香港三级日本三级妇三级 | 一区二区传媒有限公司 | 99久久精品日本一区二区免费 | 国产人妖乱国产精品人妖 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 老头边吃奶边弄进去呻吟 | 日产精品高潮呻吟av久久 | 国产色精品久久人妻 | 精品水蜜桃久久久久久久 | 欧美freesex黑人又粗又大 | 人人妻人人藻人人爽欧美一区 | 国产真实乱对白精彩久久 | 国产人妻精品一区二区三区 | 中文精品无码中文字幕无码专区 | 欧美熟妇另类久久久久久多毛 | 亚洲熟妇自偷自拍另类 | 日韩亚洲欧美精品综合 | 日韩av无码中文无码电影 | 久久精品国产日本波多野结衣 | 国产亚洲精品精品国产亚洲综合 | 沈阳熟女露脸对白视频 | 日韩视频 中文字幕 视频一区 | 国产精品亚洲一区二区三区喷水 | 国产精品高潮呻吟av久久 | 人人爽人人爽人人片av亚洲 | 夜夜夜高潮夜夜爽夜夜爰爰 | 色婷婷综合激情综在线播放 | 中文字幕av无码一区二区三区电影 | 18无码粉嫩小泬无套在线观看 | 国产在线精品一区二区三区直播 | 婷婷五月综合激情中文字幕 | 夜先锋av资源网站 | 丰满岳乱妇在线观看中字无码 | 精品久久久中文字幕人妻 | 国产午夜无码视频在线观看 | 无遮挡国产高潮视频免费观看 | 亚洲中文字幕在线观看 | 国内精品人妻无码久久久影院蜜桃 | 国产色在线 | 国产 | 国产精品久久久久无码av色戒 | 亚洲 a v无 码免 费 成 人 a v | 狠狠色欧美亚洲狠狠色www | 一区二区三区乱码在线 | 欧洲 | 男人和女人高潮免费网站 | 国产午夜无码精品免费看 | 国产激情艳情在线看视频 | 亚洲精品一区二区三区婷婷月 | 性生交大片免费看女人按摩摩 | 男女爱爱好爽视频免费看 | 国产成人精品三级麻豆 | 无遮无挡爽爽免费视频 | 女人被男人躁得好爽免费视频 | 欧洲精品码一区二区三区免费看 | 人人妻人人澡人人爽欧美精品 | 蜜臀av无码人妻精品 | 国产真人无遮挡作爱免费视频 | 免费看少妇作爱视频 | 少妇久久久久久人妻无码 | 曰韩少妇内射免费播放 | 亚洲综合久久一区二区 | 成人影院yy111111在线观看 | 亚洲va欧美va天堂v国产综合 | 久久99国产综合精品 | 娇妻被黑人粗大高潮白浆 | 成人动漫在线观看 | 久久精品国产一区二区三区 | 色综合久久久久综合一本到桃花网 | 丰满妇女强制高潮18xxxx | 久久久中文字幕日本无吗 | 日本熟妇大屁股人妻 | 在线欧美精品一区二区三区 | 一本色道久久综合亚洲精品不卡 | 人人澡人人妻人人爽人人蜜桃 | 亚洲色大成网站www | 亚洲日韩中文字幕在线播放 | 国产精品无码久久av | 少妇无码一区二区二三区 | 六月丁香婷婷色狠狠久久 | 乱码av麻豆丝袜熟女系列 | 西西人体www44rt大胆高清 | 曰韩少妇内射免费播放 | 国产av一区二区三区最新精品 | 久久精品国产99久久6动漫 | 人人澡人摸人人添 | 东京无码熟妇人妻av在线网址 | 成 人 网 站国产免费观看 | 久久精品国产一区二区三区 | 亚洲精品一区二区三区婷婷月 | 日本精品高清一区二区 | 草草网站影院白丝内射 | 久久无码专区国产精品s | 亚洲一区av无码专区在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 97夜夜澡人人双人人人喊 | 色婷婷av一区二区三区之红樱桃 | 日韩av激情在线观看 | 嫩b人妻精品一区二区三区 | 无码国产乱人伦偷精品视频 | 天堂亚洲免费视频 | 久久久久99精品国产片 | 黑人巨大精品欧美黑寡妇 | 99久久精品日本一区二区免费 | 99久久精品日本一区二区免费 | 国产综合久久久久鬼色 | 精品人妻人人做人人爽 | 伊人久久大香线蕉亚洲 | 日韩精品a片一区二区三区妖精 | 捆绑白丝粉色jk震动捧喷白浆 | 成人欧美一区二区三区 | 亚洲精品国产a久久久久久 | 久久熟妇人妻午夜寂寞影院 | 亚洲小说图区综合在线 | 又粗又大又硬毛片免费看 | 国产精品a成v人在线播放 | 久精品国产欧美亚洲色aⅴ大片 | 日韩亚洲欧美中文高清在线 | 欧美老熟妇乱xxxxx | 夜夜影院未满十八勿进 | 娇妻被黑人粗大高潮白浆 | 无码成人精品区在线观看 | 国产成人亚洲综合无码 | 午夜无码区在线观看 | 国产人妻久久精品二区三区老狼 | 红桃av一区二区三区在线无码av | 亚洲国产高清在线观看视频 | 国产suv精品一区二区五 | 女人被男人躁得好爽免费视频 | 久久无码人妻影院 | 国产精品人妻一区二区三区四 | 亚洲区欧美区综合区自拍区 | 动漫av网站免费观看 | 亚洲国产综合无码一区 | 成人无码影片精品久久久 | 无码福利日韩神码福利片 | 少妇激情av一区二区 | 水蜜桃色314在线观看 | 性欧美videos高清精品 | 亚洲一区二区三区香蕉 | 天堂在线观看www | 色五月五月丁香亚洲综合网 | 狠狠色欧美亚洲狠狠色www | 国产精品人妻一区二区三区四 | 伦伦影院午夜理论片 | 国产精品久久久一区二区三区 | 国产无av码在线观看 | 老头边吃奶边弄进去呻吟 | 国产人成高清在线视频99最全资源 | 99re在线播放 | 老子影院午夜伦不卡 | 国产农村乱对白刺激视频 | 无码av岛国片在线播放 | 无码国产乱人伦偷精品视频 | 日本精品人妻无码免费大全 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产成人亚洲综合无码 | 日欧一片内射va在线影院 | 国产高清不卡无码视频 | a在线亚洲男人的天堂 | 国产偷国产偷精品高清尤物 | 亚洲成色在线综合网站 | 漂亮人妻洗澡被公强 日日躁 | 亚洲国产av美女网站 | 日日碰狠狠躁久久躁蜜桃 | 少妇人妻大乳在线视频 | 国产精品99久久精品爆乳 | 亚洲gv猛男gv无码男同 | 成人影院yy111111在线观看 | 欧美三级a做爰在线观看 | 亚洲色无码一区二区三区 | 国产激情精品一区二区三区 | 欧美大屁股xxxxhd黑色 | 一本大道伊人av久久综合 | 精品国产一区二区三区av 性色 | 日本精品人妻无码免费大全 | 亚洲日韩av一区二区三区中文 | 99re在线播放 | 欧洲精品码一区二区三区免费看 | 亚洲爆乳大丰满无码专区 | 久久国产精品_国产精品 | 丰满人妻精品国产99aⅴ | 国产超碰人人爽人人做人人添 | 中文字幕无码视频专区 | 人人澡人人透人人爽 | 亚洲国产日韩a在线播放 | 亚洲欧洲无卡二区视頻 | 亚洲国产成人a精品不卡在线 | 国产sm调教视频在线观看 | 亚洲日本va中文字幕 | 久久精品一区二区三区四区 | 午夜精品久久久久久久 | 麻豆精品国产精华精华液好用吗 | 六月丁香婷婷色狠狠久久 | 丰满少妇女裸体bbw | 亚洲综合无码久久精品综合 | 女人被爽到呻吟gif动态图视看 | 人妻体内射精一区二区三四 | 一本大道伊人av久久综合 | 妺妺窝人体色www在线小说 | 中文字幕无码av波多野吉衣 | 在线a亚洲视频播放在线观看 | 国产网红无码精品视频 | 黑人巨大精品欧美黑寡妇 | 正在播放东北夫妻内射 | 国产一区二区三区日韩精品 | 欧洲欧美人成视频在线 | 久久精品女人的天堂av | 色一情一乱一伦一区二区三欧美 | 亚洲国产综合无码一区 | 精品国产一区二区三区四区 | 色欲综合久久中文字幕网 | 国产精品久久久 | 亚洲精品欧美二区三区中文字幕 | 欧美刺激性大交 | 国产xxx69麻豆国语对白 | 亚洲中文无码av永久不收费 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 成人精品天堂一区二区三区 | 无码人妻出轨黑人中文字幕 | 激情爆乳一区二区三区 | 樱花草在线播放免费中文 | 无码乱肉视频免费大全合集 | 亚洲精品久久久久avwww潮水 | 无人区乱码一区二区三区 | 国产后入清纯学生妹 | 国产人妻人伦精品 | 久久精品人人做人人综合试看 | 午夜福利试看120秒体验区 | 人妻插b视频一区二区三区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲国产一区二区三区在线观看 | 少妇高潮一区二区三区99 | 亚洲日韩中文字幕在线播放 | 老熟女重囗味hdxx69 | av无码久久久久不卡免费网站 | 国产欧美熟妇另类久久久 | 国产后入清纯学生妹 | 伊在人天堂亚洲香蕉精品区 | 中文字幕av无码一区二区三区电影 | 国色天香社区在线视频 | 麻豆国产丝袜白领秘书在线观看 | 女人被男人躁得好爽免费视频 | 亚洲区小说区激情区图片区 | 国产区女主播在线观看 | 国产香蕉97碰碰久久人人 | 亚洲色欲色欲欲www在线 | 大地资源网第二页免费观看 | 国产精品99爱免费视频 | 日本一卡二卡不卡视频查询 | 亚洲成a人一区二区三区 | 伊人久久大香线蕉午夜 | 伊人久久婷婷五月综合97色 | 欧美老妇与禽交 | 九月婷婷人人澡人人添人人爽 | 国产精品丝袜黑色高跟鞋 | 熟女俱乐部五十路六十路av | 老熟女重囗味hdxx69 | 免费人成在线观看网站 | 精品偷拍一区二区三区在线看 | 免费男性肉肉影院 | 亚洲国产精品美女久久久久 | 国产精品二区一区二区aⅴ污介绍 | 国产精品美女久久久网av | 欧美 丝袜 自拍 制服 另类 | 亚洲精品鲁一鲁一区二区三区 | 亚洲小说图区综合在线 | 国产特级毛片aaaaaaa高清 | 婷婷五月综合激情中文字幕 | 日日摸天天摸爽爽狠狠97 | 中文字幕乱码人妻无码久久 | 国产av一区二区精品久久凹凸 | 国产精品无码久久av | 午夜精品久久久内射近拍高清 | 人妻无码αv中文字幕久久琪琪布 | 亲嘴扒胸摸屁股激烈网站 | 十八禁视频网站在线观看 | 无码一区二区三区在线观看 | 少妇无码吹潮 | 午夜时刻免费入口 | 正在播放老肥熟妇露脸 | 精品一区二区不卡无码av | 久久久国产一区二区三区 | 成熟女人特级毛片www免费 | 国产激情综合五月久久 | 亚洲精品无码国产 | 野外少妇愉情中文字幕 | 激情内射日本一区二区三区 | 99精品久久毛片a片 | 少妇无码吹潮 | 久久久久久久久蜜桃 | 丰满少妇高潮惨叫视频 | 东京无码熟妇人妻av在线网址 | 67194成是人免费无码 | 久久无码人妻影院 | 国产在线精品一区二区高清不卡 | 久久99热只有频精品8 | 国产国产精品人在线视 | 日日噜噜噜噜夜夜爽亚洲精品 | 免费无码的av片在线观看 | 亚洲成av人片天堂网无码】 | 亚洲最大成人网站 | 搡女人真爽免费视频大全 | www一区二区www免费 | 亚洲国产精华液网站w |