黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Spring AOP: Spring之面向方面編程

系統 1880 0

第?5?章?Spring AOP: Spring之面向方面編程

5.1.?概念

面向方面編程 ( AOP ) 提供從另一個角度來考慮程序結構以完善面向對象編程(OOP)。 面向對象將應用程序分解成 各個層次的對象,而AOP將程序分解成各個 方面 或者說 關注點 。 這使得可以模塊化諸如事務管理等這些橫切多個對象的關注點。(這些關注點術語稱作 橫切 關注點。)

Spring的一個關鍵組件就是 AOP框架 。 Spring IoC容器(BeanFactory 和ApplicationContext)并不依賴于AOP, 這意味著如果你不需要使用,AOP你可以不用,AOP完善了Spring IoC,使之成為一個有效的中間件解決方案,。

AOP在Spring中的使用:

  • 提供聲明式企業服務,特別是作為EJB聲明式服務的替代品。這些服務中最重要的是 聲明式事務管理 ,這個服務建立在Spring的事務管理抽象之上。

  • 允許用戶實現自定義的方面,用AOP完善他們的OOP的使用。

這樣你可以把Spring AOP看作是對Spring的補充,它使得Spring不需要EJB就能提供聲明式事務管理;或者 使用Spring AOP框架的全部功能來實現自定義的方面。

如果你只使用通用的聲明式服務或者預先打包的聲明式中間件服務如pooling,你可以不直接使用 Spring AOP,并且跳過本章的大部分內容.

5.1.1.?AOP概念

讓我們從定義一些重要的AOP概念開始。這些術語不是Spring特有的。不幸的是,Spring的術語 不是特別地直觀。而且,如果Spring使用自己的術語,這將使人更加迷惑。

  • 方面(Aspect) : 一個關注點的模塊化,這個關注點實現可能 另外橫切多個對象。事務管理是J2EE應用中一個很好的橫切關注點例子。方面用Spring的 Advisor或攔截器實現。

  • 連接點(Joinpoint) : 程序執行過程中明確的點,如方法的調 用或特定的異常被拋出。

  • 通知(Advice) : 在特定的連接點,AOP框架執行的動作。各種類 型的通知包括“around”、“before”和“throws”通知。通知類型將在下面討論。許多AOP框架 包括Spring都是以 攔截器 做通知模型,維護一個“圍繞”連接點的攔截器 鏈。

  • 切入點(Pointcut) : 指定一個通知將被引發的一系列連接點 的集合。AOP框架必須允許開發者指定切入點:例如,使用正則表達式。

  • 引入(Introduction) : 添加方法或字段到被通知的類。 Spring允許引入新的接口到任何被通知的對象。例如,你可以使用一個引入使任何對象實現 IsModified 接口,來簡化緩存。

  • 目標對象(Target Object) : 包含連接點的對象。也被稱作 被通知 被代理 對象。

  • AOP代理(AOP Proxy) : AOP框架創建的對象,包含通知。 在Spring中,AOP代理可以是JDK動態代理或者CGLIB代理。

  • 織入(Weaving) : 組裝方面來創建一個被通知對象。這可以在編譯時 完成(例如使用AspectJ編譯器),也可以在運行時完成。Spring和其他純Java AOP框架一樣, 在運行時完成織入。

各種通知類型包括:

  • Around通知 : 包圍一個連接點的通知,如方法調用。這是最 強大的通知。Aroud通知在方法調用前后完成自定義的行為。它們負責選擇繼續執行連接點或通過 返回它們自己的返回值或拋出異常來短路執行。

  • Before通知 : 在一個連接點之前執行的通知,但這個通知 不能阻止連接點前的執行(除非它拋出一個異常)。

  • Throws通知 : 在方法拋出異常時執行的通知。Spring提供 強類型的Throws通知,因此你可以書寫代碼捕獲感興趣的異常(和它的子類),不需要從Throwable 或Exception強制類型轉換。

  • After returning通知 : 在連接點正常完成后執行的通知, 例如,一個方法正常返回,沒有拋出異常。

Around通知是最通用的通知類型。大部分基于攔截的AOP框架,如Nanning和JBoss4,只提供 Around通知。

如同AspectJ,Spring提供所有類型的通知,我們推薦你使用最為合適的通知類型來實現需 要的行為。例如,如果只是需要用一個方法的返回值來更新緩存,你最好實現一個after returning 通知而不是around通知,雖然around通知也能完成同樣的事情。使用最合適的通知類型使編程模型變 得簡單,并能減少潛在錯誤。例如你不需要調用在around通知中所需使用的的MethodInvocation的 proceed() 方法,因此就調用失敗。

切入點的概念是AOP的關鍵,使AOP區別于其它使用攔截的技術。切入點使通知獨立于OO的 層次選定目標。例如,提供聲明式事務管理的around通知可以被應用到跨越多個對象的一組方法上。 因此切入點構成了AOP的結構要素。

5.1.2.?Spring AOP的功能

Spring AOP用純Java實現。它不需要特別的編譯過程。Spring AOP不需要控制類裝載器層次, 因此適用于J2EE web容器或應用服務器。

Spring目前支持攔截方法調用。成員變量攔截器沒有實現,雖然加入成員變量攔截器支持并不破壞 Spring AOP核心API。

成員變量攔截器在違反OO封裝原則方面存在爭論。我們不認為這在應用程序開發中是明智的。如 果你需要使用成員變量攔截器,考慮使用AspectJ。

Spring提供代表切入點或各種通知類型的類。Spring使用術語 advisor 來 表示代表方面的對象,它包含一個通知和一個指定特定連接點的切入點。

各種通知類型有 MethodInterceptor (來自AOP聯盟的攔截器API)和定義在 org.springframework.aop 包中的 通知接口。所有通知必須實現 org.aopalliance.aop.Advice 標簽接口。 取出就可使用的通知有 MethodInterceptor ThrowsAdvice BeforeAdvice AfterReturningAdvice 。我們將在下面詳細討論這些通知類型。

Spring實現了 AOP聯盟 的攔截器接口( http://www.sourceforge.net/projects/aopalliance ). Around通知必須實現AOP聯盟的 org.aopalliance.intercept.MethodInterceptor 接口。這個接口的實現可以運行在Spring或其他AOP聯盟兼容的實現中。目前JAC實現了AOP聯盟的接 口,Nanning和Dynaop可能在2004年早期實現。

Spring實現AOP的途徑不同于其他大部分AOP框架。它的目標不是提供及其完善的AOP實現( 雖然Spring AOP非常強大);而是提供一個和Spring IoC緊密整合的AOP實現,幫助解決企業應用 中的常見問題。 因此,例如Spring AOP的功能通常是和Spring IoC容器聯合使用的。AOP通知是用普通 的bean定義語法來定義的(雖然可以使用"autoproxying"功能);通知和切入點本身由Spring IoC 管理:這是一個重要的其他AOP實現的區別。有些事使用Spring AOP是無法容易或高效地實現,比如通知 非常細粒度的對象。這種情況AspectJ可能是最合適的選擇。但是,我們的經驗是Spring針對J2EE應 用中大部分能用AOP解決的問題提供了一個優秀的解決方案。

5.1.3.?Spring中AOP代理

Spring默認使用JDK 動態代理 實現AOP代理。這使得任何接口或 接口的集合能夠被代理。

Spring也可以是CGLIB代理。這可以代理類,而不是接口。如果業務對象沒有實現一個接口, CGLIB被默認使用。但是作為一 針對接口編程而不是類編程 良好實踐,業務對象 通常實現一個或多個業務接口。

也可以強制使用CGLIB:我們將在下面討論,并且會解釋為什么你會要這么做。

Spring 1.0后,Spring可能提供額外的AOP代理的類型,包括完全生成的類。這將不會影響 編程模型。

5.2.?Spring的切入點

讓我們看看Spring如何處理切入點這個重要的概念。

5.2.1.?概念

Spring的切入點模型能夠使切入點獨立于通知類型被重用。 同樣的切入點有可能接受不同的 通知。

org.springframework.aop.Pointcut 接口是重要的接口, 用來指定通知到特定的類和方法目標。完整的接口定義如下:

          public interface Pointcut {

    ClassFilter getClassFilter();

    MethodMatcher getMethodMatcher();

}
        

Pointcut 接口分成兩個部分有利于重用類和方法的匹配部分,并且組合細粒度的 操作(如和另一個方法匹配器執行一個”并“的操作)。

ClassFilter 接口被用來將切入點限制到一個給定的目標類的集合。 如果 matches() 永遠返回true,所有的目標類都將被匹配。

          public interface ClassFilter {

    boolean matches(Class clazz);
}
        

MethodMatcher 接口通常更加重要。完整的接口如下:

          public interface MethodMatcher {

    boolean matches(Method m, Class targetClass);

    boolean isRuntime();

    boolean matches(Method m, Class targetClass, Object[] args);
}
        

matches(Method, Class) 方法被用來測試這個切入點是否匹 配目標類的給定方法。這個測試可以在AOP代理創建的時候執行,避免在所有方法調用時都需要進行 測試。如果2個參數的匹配方法對某個方法返回true,并且MethodMatcher的 isRuntime() 也返回true,那么3個參數的匹配方法將在每次方法調用的時候被調用。這使 切入點能夠在目標通知被執行之前立即查看傳遞給方法調用的參數。

大部分MethodMatcher都是靜態的,意味著 isRuntime() 方法 返回false。這種情況下3個參數的匹配方法永遠不會被調用。

如果可能,盡量使切入點是靜態的,使當AOP代理被創建時,AOP框架能夠緩存切入點的 測試結果。

5.2.2.?切入點的運算

Spring支持的切入點的運算有: 值得注意的是

并表示只要任何一個切入點匹配的方法。

交表示兩個切入點都要匹配的方法。

并通常比較有用。

切入點可以用 org.springframework.aop.support.Pointcuts 類的靜態方法來組合,或者使用同一個包中的 ComposablePointcut 類。

5.2.3.?實用切入點實現

Spring提供幾個實用的切入點實現。一些可以直接使用。另一些需要子類化來實現應用相 關的切入點。

5.2.3.1.?靜態切入點

靜態切入點只基于方法和目標類,而不考慮方法的參數。靜態切入點足夠滿足大多數情況 的使用。Spring可以只在方法第一次被調用的時候計算靜態切入點,不需要在每次方法調用 的時候計算。

讓我們看一下Spring提供的一些靜態切入點的實現。

5.2.3.1.1.?正則表達式切入點

一個很顯然的指定靜態切入點的方法是正則表達式。除了Spring以外,其它的AOP框架也實 現了這一點。 org.springframework.aop.support.RegexpMethodPointcut 是一個通用的正則表達式切入點,它使用Perl 5的正則表達式的語法。

使用這個類你可以定義一個模式的列表。如果任何一個匹配,那個切入點將被計算成 true。(所以結果相當于是這些切入點的并集)。

用法如下:

              <bean id="settersAndAbsquatulatePointcut" 
    class="org.springframework.aop.support.RegexpMethodPointcut">
    <property name="patterns">
        <list>
            <value>.*get.*</value>
            <value>.*absquatulate</value>
        </list>
    </property>
</bean>
            

RegexpMethodPointcut 一個實用子類, RegexpMethodPointcutAdvisor , 允許我們同時引用一個通知。 (記住通知可以是攔截器,before通知,throws通知等等。)這簡化了bean的裝配,因為一個bean 可以同時當作切入點和通知,如下所示:

              <bean id="settersAndAbsquatulateAdvisor" 
    class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
    <property name="interceptor">
        <ref local="beanNameOfAopAllianceInterceptor"/>
    </property>
    <property name="patterns">
        <list>
            <value>.*get.*</value>
            <value>.*absquatulate</value>
        </list>
    </property>
</bean>
            

RegexpMethodPointcutAdvisor 可以用于任何通知類型。

RegexpMethodPointcut類需要Jakarta ORO正則表達式包。
5.2.3.1.2.?屬性驅動的切入點

一類重要的靜態切入點是 元數據驅動 的 切入點。 它使用元數據屬性的值:典型地,使用源代碼級元數據。

5.2.3.2.?動態切入點

動態切入點的演算代價比靜態切入點高的多。它們不僅考慮靜態信息,還要考慮方法的 參數 。這意味著它們必須在每次方法調用的時候都被計算;并且不能緩存結果 ,因為參數是變化的。

這個主要的例子就是 控制流 切入點。

5.2.3.2.1.?控制流切入點

Spring的控制流切入點概念上和AspectJ的 cflow 切入點一致,雖然沒有其那么強大(當前沒有辦法指定一個切入點在另一個切入點后執行)。 一個控制流切入點匹配當前的調用棧。例如,連接點被 com.mycompany.web 包或者 SomeCaller 類中一個方法調用的時候,觸發該切入點。控制流切入點的實現類是 org.springframework.aop.support.ControlFlowPointcut

注意

控制流切入點是動態切入點中計算代價最高的。Java 1.4中, 它的運行開銷是其他動態切入點的5倍。在Java 1.3中則超過10倍。

5.2.4.?切入點超類

Spring提供非常實用的切入點的超類幫助你實現你自己的切入點。

因為靜態切入點非常實用,你很可能子類化StaticMethodMatcherPointcut,如下所示。 這只需要實現一個抽象方法(雖然可以改寫其它的方法來自定義行為)。

          class TestStaticPointcut extends StaticMethodMatcherPointcut {

    public boolean matches(Method m, Class targetClass) {
        // return true if custom criteria match
    }
}
        

當然也有動態切入點的超類。

Spring 1.0 RC2或以上版本,自定義切入點可以用于任何類型的通知。

5.2.5.?自定義切入點

因為Spring中的切入點是Java類,而不是語言特性(如AspectJ),因此可以定義自定義切入點, 無論靜態還是動態。但是,沒有直接支持用AspectJ語法書寫的復雜的切入點表達式。不過, Spring的自定義切入點也可以任意的復雜。

后續版本的Spring可能象JA一樣C提供”語義切入點“的支持:例如,“所有更改目標對象 實例變量的方法”。

5.3.?Spring的通知類型

現在讓我們看看Spring AOP是如何處理通知的。

5.3.1.?通知的生命周期

Spring的通知可以跨越多個被通知對象共享,或者每個被通知對象有自己的通知。這分別對應 per-class per-instance 通知。

Per-class通知使用最為廣泛。它適合于通用的通知,如事務adisor。它們不依賴被代理 的對象的狀態,也不添加新的狀態。它們僅僅作用于方法和方法的參數。

Per-instance通知適合于導入,來支持混入(mixin)。在這種情況下,通知添加狀態到 被代理的對象。

可以在同一個AOP代理中混合使用共享和per-instance通知。

5.3.2.?Spring中通知類型

Spring提供幾種現成的通知類型并可擴展提供任意的通知類型。讓我們看看基本概念和 標準的通知類型。

5.3.2.1.?Interception around advice

Spring中最基本的通知類型是 interception around advice .

Spring使用方法攔截器的around通知是和AOP聯盟接口兼容的。實現around通知的 類需要實現接口MethodInterceptor:

            public interface MethodInterceptor extends Interceptor {
  
    Object invoke(MethodInvocation invocation) throws Throwable;
}
          

invoke() 方法的 MethodInvocation 參數暴露將被調用的方法、目標連接點、AOP代理和傳遞給被調用方法的參數。 invoke() 方法應該返回調用的結果:連接點的返回值。

一個簡單的 MethodInterceptor 實現看起來如下:

            public class DebugInterceptor implements MethodInterceptor {

    public Object invoke(MethodInvocation invocation) throws Throwable {
        System.out.println("Before: invocation=[" + invocation + "]");
        Object rval = invocation.proceed();
        System.out.println("Invocation returned");
        return rval;
    }
}
          

注意MethodInvocation的 proceed() 方法的調用。 這個調用會應用到目標連接點的攔截器鏈中的每一個攔截器。大部分攔截器會調用這個方法,并返回它的返回值。但是, 一個MethodInterceptor,和任何around通知一樣,可以返回不同的值或者拋出一個異常,而 不調用proceed方法。但是,沒有好的原因你要這么做。

MethodInterceptor提供了和其他AOP聯盟的兼容實現的交互能力。這一節下面 要討論的其他的通知類型實現了AOP公共的概念,但是以Spring特定的方式。雖然使用特定 通知類型有很多優點,但如果你可能需要在其他的AOP框架中使用,請堅持使用MethodInterceptor around通知類型。注意目前切入點不能和其它框架交互操作,并且AOP聯盟目前也沒有定義切入 點接口。

5.3.2.2.?Before通知

Before通知 是一種簡單的通知類型。 這個通知不需要一個 MethodInvocation 對象,因為它只在進入一個方法 前被調用。

Before通知的主要優點是它不需要調用 proceed() 方法, 因此沒有無意中忘掉繼續執行攔截器鏈的可能性。

MethodBeforeAdvice 接口如下所示。 (Spring的API設計允許成員變量的before通知,雖然一般的對象都可以應用成員變量攔截,但Spring 有可能永遠不會實現它)。

            public interface MethodBeforeAdvice extends BeforeAdvice {

    void before(Method m, Object[] args, Object target) throws Throwable;
}
          

注意返回類型是 void 。 Before通知可以在連接點執行之前 插入自定義的行為,但是不能改變返回值。如果一個before通知拋出一個異常,這將中斷攔截器 鏈的進一步執行。這個異常將沿著攔截器鏈后退著向上傳播。如果這個異常是unchecked的,或者 出現在被調用的方法的簽名中,它將會被直接傳遞給客戶代碼;否則,它將被AOP代理包裝到一個unchecked 的異常里。

下面是Spring中一個before通知的例子,這個例子計數所有正常返回的方法:

            public class CountingBeforeAdvice implements MethodBeforeAdvice {
    private int count;
    public void before(Method m, Object[] args, Object target) throws Throwable {
        ++count;
    }

    public int getCount() { 
        return count; 
    }
}
          
Before通知可以被用于任何類型的切入點。

5.3.2.3.?Throws通知

如果連接點拋出異常, Throws通知 在連接點返回后被調用。Spring提供強類型的throws通知。注意這意味著 org.springframework.aop.ThrowsAdvice 接口不包含任何方法: 它是一個標記接口,標識給定的對象實現了一個或多個強類型的throws通知方法。這些方法形式 如下:

            afterThrowing([Method], [args], [target], subclassOfThrowable) 
          

只有最后一個參數是必需的。 這樣從一個參數到四個參數,依賴于通知是否對方法和方法 的參數感興趣。下面是throws通知的例子。

如果拋出 RemoteException 異常(包括子類), 這個通知會被調用

            public  class RemoteThrowsAdvice implements ThrowsAdvice {

    public void afterThrowing(RemoteException ex) throws Throwable {
        // Do something with remote exception
    }
}
          

如果拋出 ServletException 異常, 下面的通知會被調用。和上面的通知不一樣,它聲明了四個參數,所以它可以訪問被調用的方法,方法的參數 和目標對象:

            public static class ServletThrowsAdviceWithArguments implements ThrowsAdvice {

    public void afterThrowing(Method m, Object[] args, Object target, ServletException ex) {
        // Do something will all arguments
    }
}
          

最后一個例子演示了如何在一個類中使用兩個方法來同時處理 RemoteException ServletException 異常。任意個數的throws方法可以被組合在一個類中。

            public static class CombinedThrowsAdvice implements ThrowsAdvice {

    public void afterThrowing(RemoteException ex) throws Throwable {
        // Do something with remote exception
    }
 
    public void afterThrowing(Method m, Object[] args, Object target, ServletException ex) {
        // Do something will all arguments
    }
}
          
Throws通知可被用于任何類型的切入點。

5.3.2.4.?After Returning通知

Spring中的after returning通知必須實現 org.springframework.aop.AfterReturningAdvice 接口,如下所示:

            public interface AfterReturningAdvice extends Advice {

    void afterReturning(Object returnValue, Method m, Object[] args, Object target) 
            throws Throwable;
}
          

After returning通知可以訪問返回值(不能改變)、被調用的方法、方法的參數和 目標對象。

下面的after returning通知統計所有成功的沒有拋出異常的方法調用:

            public class CountingAfterReturningAdvice implements AfterReturningAdvice {
    private int count;

    public void afterReturning(Object returnValue, Method m, Object[] args, Object target) throws Throwable {
        ++count;
    }

    public int getCount() {
        return count;
    }
}
          

這方法不改變執行路徑。如果它拋出一個異常,這個異常而不是返回值將被沿著攔截器鏈 向上拋出。

After returning通知可被用于任何類型的切入點。

5.3.2.5.?Introduction通知

Spring將introduction通知看作一種特殊類型的攔截通知。

Introduction需要實現 IntroductionAdvisor , 和 IntroductionInterceptor 接口:

            public interface IntroductionInterceptor extends MethodInterceptor {

    boolean implementsInterface(Class intf);
}
          

繼承自AOP聯盟 MethodInterceptor 接口的 invoke() 方法必須實現導入:也就是說,如果被調用的方法是在 導入的接口中,導入攔截器負責處理這個方法調用,它不能調用 proceed() 方法。

Introduction通知不能被用于任何切入點,因為它只能作用于類層次上,而不是方法。 你可以只用InterceptionIntroductionAdvisor來實現導入通知,它有下面的方法:

            public interface InterceptionIntroductionAdvisor extends InterceptionAdvisor {

    ClassFilter getClassFilter();

    IntroductionInterceptor getIntroductionInterceptor();

    Class[] getInterfaces();
}
          

這里沒有 MethodMatcher ,因此也沒有和導入通知關聯的 切入點 。只有類過濾是合乎邏輯的。

getInterfaces() 方法返回advisor導入的接口。

讓我們看看一個來自Spring測試套件中的簡單例子。我們假設想要導入下面的接口到一個 或者多個對象中:

            public interface Lockable {
    void lock();
    void unlock();
    boolean locked();
}
          

這個例子演示了一個 mixin 。我們想要能夠 將被通知對象類型轉換為Lockable,不管它們的類型,并且調用lock和unlock方法。如果我們調用 lock()方法,我們希望所有setter方法拋出 LockedException 異常。 這樣我們能添加一個方面使的對象不可變,而它們不需要知道這一點:這是一個很好的AOP例 子。

首先,我們需要一個做大量轉化的 IntroductionInterceptor 。 在這里,我們繼承 org.springframework.aop.support.DelegatingIntroductionInterceptor 實用類。我們可以直接實現IntroductionInterceptor接口,但是大多數情況下 DelegatingIntroductionInterceptor 是最合適的。

DelegatingIntroductionInterceptor 的設計是將導入 委托到真正實現導入接口的接口,隱藏完成這些工作的攔截器。委托可以使用構造方法參數 設置到任何對象中;默認的委托就是自己(當無參數的構造方法被使用時)。這樣在下面的 例子里,委托是 DelegatingIntroductionInterceptor 的子類 LockMixin 。給定一個委托(默認是自身)的 DelegatingIntroductionInterceptor 實例尋找被這個委托(而不 是IntroductionInterceptor)實現的所有接口,并支持它們中任何一個導入。子類如 LockMixin 也可能調用 suppressInterflace(Class intf) 方法隱藏不應暴露的接口。然而,不管 IntroductionInterceptor 準備支持多少接口, IntroductionAdvisor 將控制哪個接口將被實際 暴露。一個導入的接口將隱藏目標的同一個接口的所有實現。

這樣,LockMixin繼承 DelegatingIntroductionInterceptor 并自己實現Lockable。父類自動選擇支持導入的Lockable,所以我們不需要指定它。 用這種方法我們可以導入任意數量的接口。

注意 locked 實例變量的使用。這有效地添加額外的狀態到目標 對象。

            public class LockMixin extends DelegatingIntroductionInterceptor 
    implements Lockable {

    private boolean locked;

    public void lock() {
        this.locked = true;
    }

    public void unlock() {
        this.locked = false;
    }

    public boolean locked() {
        return this.locked;
    }

    public Object invoke(MethodInvocation invocation) throws Throwable {
        if (locked() && invocation.getMethod().getName().indexOf("set") == 0)
            throw new LockedException();
        return super.invoke(invocation);
    }

}
          

通常不要需要改寫 invoke() 方法:實現 DelegatingIntroductionInterceptor 就足夠了,如果是導入的方法, DelegatingIntroductionInterceptor 實現會調用委托方法, 否則繼續沿著連接點處理。在現在的情況下,我們需要添加一個檢查:在上鎖 狀態下不能調用setter方法。

所需的導入advisor是很簡單的。只有保存一個獨立的 LockMixin 實例,并指定導入的接口,在這里就是 Lockable 。一個稍微復雜一點例子可能需要一個導入攔截器(可以 定義成prototype)的引用:在這種情況下, LockMixin 沒有相關配置,所以我們簡單地 使用 new 來創建它。

            public class LockMixinAdvisor extends DefaultIntroductionAdvisor {

    public LockMixinAdvisor() {
        super(new LockMixin(), Lockable.class);
    }
}
          

我們可以非常簡單地使用這個advisor:它不需要任何配置。(但是,有一點 必要的:就是不可能在沒有 IntroductionAdvisor 的情況下使用 IntroductionInterceptor 。) 和導入一樣,通常 advisor必須是針對每個實例的,并且是有狀態的。我們會有不同的的 LockMixinAdvisor 每個被通知對象,會有不同的 LockMixin 。 advisor組成了被通知對象的狀態的一部分。

和其他advisor一樣,我們可以使用 Advised.addAdvisor() 方法以編程地方式使用這種advisor,或者在XML中配置(推薦這種方式)。 下面將討論所有代理創建,包括“自動代理創建者”,選擇代理創建以正確地處理導入和有狀態的混入。

5.4.?Spring中的advisor

在Spring中,一個advisor就是一個aspect的完整的模塊化表示。 一般地,一個advisor包括通知和切入點。

撇開導入這種特殊情況,任何advisor可被用于任何通知。 org.springframework.aop.support.DefaultPointcutAdvisor 是最通用的advisor類。例如,它可以和 MethodInterceptor BeforeAdvice 或者 ThrowsAdvice 一起使 用。

Spring中可以將advisor和通知混合在一個AOP代理中。例如,你可以在一個代理配置中 使用一個對around通知、throws通知和before通知的攔截:Spring將自動創建必要的攔截器鏈。

5.5.?用ProxyFactoryBean創建AOP代理

如果你在為你的業務對象使用Spring的IoC容器(例如ApplicationContext或者BeanFactory), 你應該會或者你愿意會使用Spring的aop FactoryBean(記住,factory bean引入了一個間接層, 它能創建不同類型的對象).

在spring中創建AOP proxy的基本途徑是使用org.springframework.aop.framework.ProxyFactoryBean. 這樣可以對pointcut和advice作精確控制。但是如果你不需要這種控制,那些簡單的選擇可能更適合你。

5.5.1.?基本概要

ProxyFactoryBean ,和其他Spring的 FactoryBean 實現一樣,引入一個間接的層次。如果你 定義一個名字為 foo ProxyFactoryBean , 引用 foo 的對象所看到的不是 ProxyFactoryBean 實例本身,而是由實現 ProxyFactoryBean 的類的 getObject() 方法所創建的對象。這個方法將創建一個包裝了目標對象 的AOP代理。

使用 ProxyFactoryBean 或者其他IoC可知的類來創建AOP代理 的最重要的優點之一是IoC可以管理通知和切入點。這是一個非常的強大的功能,能夠實 現其他AOP框架很難實現的特定的方法。例如,一個通知本身可以引用應用對象(除了目標對象, 它在任何AOP框架中都可以引用應用對象),這完全得益于依賴注入所提供的可插入性。

5.5.2.?JavaBean的屬性

類似于Spring提供的絕大部分FactoryBean實現一樣, ProxyFactoryBean 也是一個javabean,我們可以利用它的屬性來:

  • 指定你將要代理的目標

  • 指定是否使用CGLIB

一些關鍵屬性來自 org.springframework.aop.framework.ProxyConfig :它是所有AOP代理工廠的父類。這些關鍵屬性包括:

  • proxyTargetClass : 如果我們應該代理目標類, 而不是接口,這個屬性的值為true。如果這是true,我們需要使用CGLIB。

  • optimize : 是否使用強優化來創建代理。不要使用 這個設置,除非你了解相關的AOP代理是如何處理優化的。目前這只對CGLIB代理有效;對JDK 動態代理無效(默認)。

  • frozen : 是否禁止通知的改變,一旦代理工廠已經配置。 默認是false。

  • exposeProxy : 當前代理是否要暴露在ThreadLocal中, 以便它可以被目標對象訪問。(它可以通過MethodInvocation得到,不需要ThreadLocal)。 如果一個目標需要獲得它的代理并且exposeProxy的值是ture,可以使用 AopContext.currentProxy() 方法。

  • aopProxyFactory : 所使用的AopProxyFactory具體實現。 這個參數提供了一條途徑來定義是否使用動態代理、CGLIB還是其他代理策略。默認實現將適當地選擇動態 代理或CGLIB。一般不需要使用這個屬性;它的意圖是允許Spring 1.1使用另外新的代理類型。

其他 ProxyFactoryBean 特定的屬性包括:

  • proxyInterfaces : 接口名稱的字符串數組。如果這個 沒有提供,CGLIB代理將被用于目標類。

  • interceptorNames : Advisor、interceptor或其他 被應用的通知名稱的字符串數組。順序是很重要的。這里的名稱是當前工廠中bean的名稱,包 括來自祖先工廠的bean的名稱。

  • singleton : 工廠是否返回一個單獨的對象,無論 getObject() 被調用多少次。許多 FactoryBean 的實現提供這個方法。默認值是true。如果你想要使用有狀態的通知--例如,用于有狀態的 mixin--將這個值設為false,使用prototype通知。

5.5.3.?代理接口

讓我們來看一個簡單的ProxyFactoryBean的實際例子。這個例子涉及到 :

  • 一個將被代理的目標bean,在這個例子里,這個bean的被定義為"personTarget".

  • 一個advisor和一個interceptor來提供advice.

  • 一個AOP代理bean定義,該bean指定目標對象(這里是personTarget bean), 代理接口,和使用的advice.

          <bean id="personTarget" class="com.mycompany.PersonImpl">
    <property name="name"><value>Tony</value></property>
    <property name="age"><value>51</value></property>
</bean>

<bean id="myAdvisor" class="com.mycompany.MyAdvisor">
    <property name="someProperty"><value>Custom string property value</value></property>
</bean>

<bean id="debugInterceptor" class="org.springframework.aop.interceptor.NopInterceptor">
</bean>

<bean id="person" 
    class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="proxyInterfaces"><value>com.mycompany.Person</value></property>

    <property name="target"><ref local="personTarget"/></property>
    <property name="interceptorNames">
        <list>
            <value>myAdvisor</value>
            <value>debugInterceptor</value>
        </list>
    </property>
</bean>
        

請注意:person bean的 interceptorNames 屬性提供一個String列表, 列出的是該ProxyFactoryBean使用的,在當前bean工廠定義的interceptor或者advisor的 名字(advisor,interceptor,before,after returning,和throws advice 對象皆可)。 Advisor在該列表中的次序很重要。

你也許會對該列表為什么不采用bean的引用存有疑問。 原因就在于如果ProxyFactoryBean的singleton屬性被設置為false, 那么bean工廠必須能返回多個獨立的代理實例。 如果有任何一個advisor本身是prototype的,那么它就需要返回獨立的實例, 也就是有必要從bean工廠獲取advisor的不同實例,bean的引用在這里顯然是不夠的。

上面定義的“person”bean定義可以作為Person接口的實現來使用,如下所示:

          Person person = (Person) factory.getBean("person");
        

在同一個IoC的上下文中,其他的bean可以依賴于Person接口,就象依賴于一個普通的java對象一樣。

          <bean id="personUser" class="com.mycompany.PersonUser">
    <property name="person"><ref local="person" /></property>
</bean>
        

在這個例子里, PersonUser 類暴露了一個類型為Person的屬性。 只要是在用到該屬性的地方,AOP代理都能透明的替代一個真實的Person實現。 但是,這個類可能是一個動態代理類。也就是有可能把它類型轉換為一個 Advised 接口 (該接口在下面的章節中論述) 。

5.5.4.?代理類

如果你需要代理的是類,而不是一個或多個接口,又該怎么辦呢?

想象一下我們上面的例子,如果沒有 Person 接口, 我們需要通知一個叫 Person 的類, 而且該類沒有實現任何業務接口。在這種情況下,你可以配置Spring使用CGLIB代理, 而不是動態代理。你只要在上面的 ProxyFactoryBean 定義中把 它的 proxyTargetClass 屬性改成true就行了。

只要你愿意,即使在有接口的情況下,你也可以強迫Spring使用CGLIB代理。

CGLIB代理是通過在運行期產生目標類的子類來進行工作的。 Spring可以配置這個生成的子類,來代理原始目標類的方法調用。這個子類是用 Decorator 設計模式置入到advice中的。

CGLIB代理對于用戶來說應該是透明的。然而,還有以下一些因素需要考慮:

  • Final 方法不能被通知,因為不能被重寫。

  • 你需要在你的classpath中包括CGLIB的二進制代碼,而動態代理對任何JDK都是可用的.

CGLIB和動態代理在性能上有微小的區別,對Spring 1.0來說,后者稍快。 另外,以后可能會有變化。在這種情況下性能不是決定性因素

5.6.?便利的代理創建方式

通常,我們不需要 ProxyFactoryBean 的全部功能,因為我們常常只對一個方面感興趣: 例如,事務管理。

當我們僅僅對一個特定的方面干興趣時,我們可以使用許多便利的工廠來創建AOP代理。這些在其他 章節討論,所以這里我們快速瀏覽一下它們。

5.6.1.?TransactionProxyFactoryBean

用Spring提供的 jPetStore 的示例應用 演示了TransactionProxyFactoryBean的使用方式。

TransactionProxyFactoryBean ProxyConfig 的子類, 因此基本配置信息是和 ProxyFactoryBean 共享的。 (見上面 ProxyConfig 的屬性列表。)

下面的代碼來自于JPetStore application,演示了 ProxyFactoryBean 是如何工作的。 跟ProxyFactoryBean一樣,存在一個目標bean的定義。 類的依賴關系定義在代理工廠bean定義中(petStore),而不是普通Java對象(petStoreTarget)。

TransactionProxyFactoryBean 需要設置一個 target 屬性, 還需要設置“ transactionAttributes ”, “ transactionAttributes ”用來指定需要事務化 處理的方法,還有要求的傳播方式和其他設置:

          <bean id="petStoreTarget" class="org.springframework.samples.jpetstore.domain.logic.PetStoreImpl">
    <property name="accountDao"><ref bean="accountDao"/></property>
    <!-- Other dependencies omitted -->
</bean>

<bean id="petStore" 
    class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager"><ref bean="transactionManager"/></property>
    <property name="target"><ref local="petStoreTarget"/></property>
    <property name="transactionAttributes">
        <props>
            <prop key="insert*">PROPAGATION_REQUIRED</prop>
            <prop key="update*">PROPAGATION_REQUIRED</prop>
            <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
        </props>
    </property>
</bean>
        

TransactionProxyFactoryBean 自動創建一個事務advisor, 該advisor包括一個基于事務屬性的切入點。因此只有事務性的方法被通知。

TransactionProxyFactoryBean 使用preInterceptors和 postInterceptors屬性指定“pre”和“post”通知。它們將攔截器,通知和Advisor數組放置 在事務攔截器前后的攔截器鏈中。使用XML格式的bean定義中的<list>元素定義,就 象下面一樣:

          <property name="preInterceptors">
    <list>
        <ref local="authorizationInterceptor"/>
        <ref local="notificationBeforeAdvice"/>
    </list>
</property>
<property name="postInterceptors">
    <list>
        <ref local="myAdvisor"/>
    </list>
</property>
        

這些屬性可以加到上面的“petStore”的bean定義里。一個通用用法是將事務和聲明式 安全組合在一起使用:一個和EJB提供的類似的方法。

因為使用前攔截器和后攔截器時,用的是真正的實例引用,而不象在 ProxyFactoryBean 中用的bean的名字,因此它們只能用于共享實例的通知。 因此它們不能用在有狀態的通知中:例如,在mixin中。這和TransactionProxyFactoryBean的要求是 一致的。如果你需要更復雜的,可以定制的AOP,你可以考慮使用普通的 ProxyFactoryBean , 或者是自動代理生成器(參考下面)。

尤其是如果我們將Spring的AOP在許多情況下看成是EJB的替代品,我們會發現大多數通知是很普通的, 可以使用共享實例。聲明式的事務管理和安全檢查是一個典型的例子。

TransactionProxyFactoryBean 依賴于由它的 transactionManager 屬性指定的 TransactionManager 。 這種事務管理方式是可插拔的,基于JTA,JDBC或者其他事務管理策略皆可。 這與Spring的事務抽象層有關,而不在于AOP本身。我們將在下一章中討論事務機制。

如果你只對聲明性事務管理感興趣,TransactionProxyFactoryBean是一個不錯的解決辦法, 并且比直接使用ProxyFactoryBean來得簡單.

5.6.2.?EJB 代理

其它有一些專門的代理用于創建EJB代理,使得EJB的“業務方法”的接口可以被調用代碼直接使用。 調用代碼并不需要進行JNDI查找或使用EJB的創建方法:這是在可讀性和架構靈活性方面的重大提高。

進一步請參考本手冊內的Spring的EJB業務。

5.7.?使用ProxyFactory以編程的方式創建AOP代理

使用Spring以編程的方式創建AOP代理也很簡單。 這使得你不需要Spring的IoC就能夠使用Spring的AOP。

下面的代碼顯示的用攔截器和advisor為目標對象創建代理。目標對象實現的接口將自動被代理:

        ProxyFactory factory = new ProxyFactory(myBusinessInterfaceImpl);
factory.addInterceptor(myMethodInterceptor);
factory.addAdvisor(myAdvisor);
MyBusinessInterface tb = (MyBusinessInterface) factory.getProxy();
      

第一步是創建類型為 org.springframework.aop.framework.ProxyFactory 的對象。你可以和上面的例子一樣用目標對象創建,或者在另一個構造函數中指定要被代理的接口。

你可以添加攔截器或advisor,在整個ProxyFactory的生命周期內操作它們。如果你添加 IntroductionInterceptionAroundAdvisor,你可以使代理實現附加接口。

ProxyFactory(它是從AdvisedSupport繼承而來)也提供了一些實用方法,使你可以添加 其它通知類型,比如before通知和throws通知。AdvisedSupport是ProxyFactory和ProxyFactoryBean 的父類。

將AOP代理的創建和IoC框架結合起來在大多數應用中都是最好的實現方式。我們推薦你和一般情況一樣, 不要將AOP配置信息放在Java代碼里。

5.8.?操作被通知對象

無論你怎么創建AOP代理,你都可以使用 org.springframework.aop.framework.Advised 接口來操作它們。任何AOP代理無論實現其它什么接口,都可以類型轉換為這個接口。這個接口包括下列方法:

        void addInterceptor(Interceptor interceptor) throws AopConfigException;

void addInterceptor(int pos, Interceptor interceptor) 
        throws AopConfigException;

void addAdvisor(Advisor advisor) throws AopConfigException;

void addAdvisor(int pos, Advisor advisor) throws AopConfigException;

int indexOf(Advisor advisor);

boolean removeAdvisor(Advisor advisor) throws AopConfigException;

void removeAdvisor(int index) throws AopConfigException;

boolean replaceAdvisor(Advisor a, Advisor b) throws AopConfigException;

boolean isFrozen();
      

getAdvisors() 方法為工廠中的每個advisor,攔截器或者其它通知類型返回一個Advisor。 如果你添加一個Advisor,使用當前索引返回的advisor就是你添加的對象。如果你添加攔截器或其它通知類型, Spring將當前對象和一個滿足要求的切入點封裝在一個advisor里。因此,如果你添加 MethodInterceptor , 使用當前索引返回的advisor是一個 DefaultPointcutAdvisor ,這個advisor返回 MethodInterceptor 和滿足所有類和方法的切入點。

addAdvisor() 被用來添加Advisor。通常會是一個普通的 DefaultPointcutAdvisor ,它可以和任何通知或切入點(除了引用)一起使用。

缺省情況下,在每次代理被創建的時候添加或刪除advisor或攔截器。唯一的限制是不能添加或刪除 引入advisor,因為工廠提供的已存在的代理不反映接口的變化。(你可以從工廠得到一個新的代理來避免這個問題)

是否建議在產品中修改業務對象的通知還值得懷疑,雖然毫無疑問存在合理的使用情況。但是, 在開發中這是非常有用的:例如,在測試中。我有時候發現以攔截器或其它通知的形式來添加測試代碼非常有用, 這樣就可以進入我想要測試的方法調用。(例如,通知可以進入為這個方法創建的事務中: 在為回滾事務作標記前,運行SQL檢查數據庫是否被正確更新。)

根據你創建代理的方式,你通常可以設置 frozen 標記,這樣 Advised isFrozen() 就返回true,任何添加或刪除通知都將導致 AopConfigException 。這種凍結被通知對象狀態的方法在一些情況下是非常有用的: 例如,為了阻止調用代碼刪除一個安全攔截器。如果已知運行時修改通知不被允許,這還可以被Spring 1.1用來 作優化。

5.9.?使用“autoproxy”功能

目前為止,我們已經討論了使用 ProxyFactoryBean 或類似的工廠bean來顯式創建AOP代理。

Spring也允許我們使用“autoproxy”的bean定義,它可以自動代理所選擇的bean定義。這是建立在Spring的 “bean后處理器”機制上的,它能夠在容器載入bean定義的時候修改任何bean定義。

在這個模型中,你可以在你的XML bean定義文件中建立特殊的bean定義,來配置自動代理機制。這允許你聲明目標對象以使用自動代理功能: 你就可以不需要使用 ProxyFactoryBean

有兩種方法來實現自動代理:

  • 使用一個自動代理生成器,它引用當前上下文中的那些特殊bean

  • 有一個特殊的自動代理創建的情況值得單獨考慮:由源代碼級元數據驅動的自動代理創建

5.9.1.?自動代理的bean定義

org.springframework.aop.framework.autoproxy 包提供了下列標準自動代理生成器。

5.9.1.1.?BeanNameAutoProxyCreator

BeanNameAutoProxyCreator為名字符合某個值或統配符的bean自動創建AOP代理。

            <bean id="jdkBeanNameProxyCreator" 
    class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    <property name="beanNames"><value>jdk*,onlyJdk</value></property>
    <property name="interceptorNames">
        <list>
            <value>myInterceptor</value>
        </list>
    </property>
</bean>
          

就和 ProxyFactoryBean 一樣,有一個 interceptorNames 屬性,而不是一個攔截器列表,這個屬性允許為prototype的advisor提供正確的行為。雖然名字叫 “攔截器”,但是也可以是advisor或任何通知類型。

就象一般的自動代理創建一樣,使用 BeanNameAutoProxyCreator 的主要目的 是對多個對象使用相同的配置信息,并且減少配置的工作量。這在為多個對象使用聲明式事務時是一個很流行的選擇。

在上面的例子中,名字匹配的bean定義,如“jdkMyBean”和“onlyJdk”,是包含目標類的普通bean定義。 BeanNameAutoProxyCreator 將自動創建AOP代理。相同的通知會被因用到所有匹配的bean。 注意,如果使用了advisor(而不是上面例子中的攔截器),切入點可能對不同的bean會不同。

5.9.1.2.?DefaultAdvisorAutoProxyCreator

DefaultAdvisorAutoProxyCreator 是一個更通用,更強大的自動代理生成器。它將 自動應用于當前上下文的符合條件的advisor,而不需要在自動代理advisor的bean定義中包含特定的bean名字。 它有助于配置的一致性,并避免象 BeanNameAutoProxyCreator 一樣重復配置。

使用這個機制包括:

  • 指定一個 DefaultAdvisorAutoProxyCreator 的bean定義

  • 在相同或相關上下文中指定任何數目的Advisor。注意這些 必須 是Advisor, 而不僅僅是攔截器或其它通知。這是很必要的,因為必須有一個切入點來檢查每個通知是否符合候選bean定義。

DefaultAdvisorAutoProxyCreator 會自動計算每個advisor包含的的切入點,看看 是否有什么通知應該被引用到每個業務對象(比如例子中的“businessObject1”和“businessObject2”)。

這意味著任何數目的advisor都可以自動應用到每個業務對象。如果advisor中沒有任何切入點符合業務對象的 方法,這個對象就不會被代理。因為會為新的業務對象添加bean定義,如果必要,它們會自動被代理。

一般來說,自動代理可以保證調用者或依賴無法接觸未被通知的對象。在這個ApplicationContext上 調用getBean("businessObject1")返回一個AOP代理,而不是目標業務對象。

            <bean id="autoProxyCreator"
    class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>

<bean id="txAdvisor"
    autowire="constructor"
    class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
    <property name="order"><value>1</value></property>
</bean>

<bean id="customAdvisor"
    class="com.mycompany.MyAdvisor">
</bean>

<bean id="businessObject1"
    class="com.mycompany.BusinessObject1">
    <!-- Properties omitted -->
</bean>

<bean id="businessObject2"
    class="com.mycompany.BusinessObject2">
</bean>
          

如果你想在幾個業務對象上應用相同的通知, DefaultAdvisorAutoProxyCreator 就非常有用。一旦定義恰當,你可以簡單地添加業務對象而不需要包括特定的代理配置。你也可以非常容易地 刪除所附加的方面--例如,跟蹤或性能監控的方面--可以盡可能減少配置修改。

DefaultAdvisorAutoProxyCreator 支持過濾(使用命名規則以便只計算某一些 advisor,允許在一個工廠中使用多個,被不同配置的AdvisorAutoProxyCreator)和排序。Advisor可以實現 org.springframework.core.Ordered 接口以保證正確的排序,如果排序確實需要。在 上面的例子中,TransactionAttributeSourceAdvisor有一個可配置的順序值,缺損是不排序。

5.9.1.3.?AbstractAdvisorAutoProxyCreator

這是DefaultAdvisorAutoProxyCreator的父類。你可以繼承它實現你自己的自動代理生成器,這種情況不太常見, 一般是advisor定義不能給 DefaultAdvisorAutoProxyCreator 框架的行為提供足夠的定制。

5.9.2.?使用元數據驅動的自動代理

一種特別重要的自動代理類型是由元數據驅動的。這和.NET的 ServicedComponents 編程框架 非常類似。它沒有象EJB那樣使用XML部署描述,事務管理和其它企業級業務的配置都是定義在源代碼級的屬性上。

在這種情況下,你可以使用 DefaultAdvisorAutoProxyCreator ,以及可以讀取元數據屬性的 Advisor。元數據細節定義在候選advisor的切入點部分,而不是自動代理創建類本身。

這是 DefaultAdvisorAutoProxyCreator 的一種特殊情況,但是它本身而言是值得考慮的。 (可以讀取元數據的代碼處于advisor的切入點中,而不是AOP框架本身。)

jPetStore示例應用的 /attributes 目錄演示了屬性驅動的自動代理的使用。在這個例子中, 沒有必要使用 TransactionProxyFactoryBean 。僅僅在業務對象上定義業務屬性就足夠了,因為 使用了可知元數據的切入點。bean定義在 /WEB-INF/declarativeServices.xml 中,包括下 面的代碼。注意這是通用的,可以在jPetStore以外的地方使用:

          <bean id="autoproxy" 
    class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>

<bean id="transactionAttributeSource"
    class="org.springframework.transaction.interceptor.AttributesTransactionAttributeSource"
    autowire="constructor">
</bean>

<bean id="transactionInterceptor"
    class="org.springframework.transaction.interceptor.TransactionInterceptor"
    autowire="byType">
</bean>

<bean id="transactionAdvisor"
    class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor"
    autowire="constructor" >
</bean>

<bean id="attributes"
    class="org.springframework.metadata.commons.CommonsAttributes"
/>
        

DefaultAdvisorAutoProxyCreator bean定義--在這種情況下稱作“advisor”,但是名字 無關緊要--會在當前的應用上午中選擇所有符合的切入點。在這個例子中,類型為 TransactionAttributeSourceAdvisor 的“transactionAdvisor”bean定義將會應用于包含事務屬性 的類或方法。TransactionAttributeSourceAdvisor通過構造函數依賴于TransactionInterceptor。這個例子通過自動 裝配來解析它。 AttributesTransactionAttributeSource 依賴于 org.springframework.metadata.Attributes 接口的一個實現。在這段代碼中,“attributes” bean使用Jakarta Commons Attributes API來獲取屬性信息。(應用代碼必須使用Commons Attributes編譯任務編譯。)

這里定義的 TransactionInterceptor 依賴于一個 PlatformTransactionManager 定義,它并沒有被包括在這個通用的文件中(雖然應該是這樣), 這是因為它是和應用的事務需求相關的(一般地,是想這個例子中的JTA,或者Hibernate,JDO 或JDBC):

          <bean id="transactionManager" 
    class="org.springframework.transaction.jta.JtaTransactionManager"/>
        
如果你只要求聲明式事務管理,使用這些通用的XML定義就可以使得Spring自動代理含有事務屬性的所有類和方法。 你不需要直接和AOP打交道,并且編程模型和.NET的ServicedComponents非常相似。

這個機制具有可擴展性。它可以基于定制的屬性來使用自動代理。你需要:

  • 定義你的定制屬性。

  • 指定的Advisor包含必要的通知和由方法或類的定制屬性所觸發的切入點。你可以使用已經存在的通知,僅僅實 現用來選擇定制屬性的切入點。

這些advisor可能對每個被通知類都是唯一的(例如,maxin)。它們僅僅需要被定義成 prototype bean,而不是singleton bean。例如,Spring的測試套件中的 LockMixin 引入攔截器可以和一個屬性驅動切入點一起來定位一個maxin,就象這里演示的。我們使用JavaBean配置的 普通的 DefaultPointcutAdvisor

          <bean id="lockMixin"
    class="org.springframework.aop.LockMixin"
    singleton="false"
/>

<bean id="lockableAdvisor"
    class="org.springframework.aop.support.DefaultPointcutAdvisor"
    singleton="false"
>
    <property name="pointcut">
        <ref local="myAttributeAwarePointcut"/>
    </property>
    <property name="advice">
        <ref local="lockMixin"/>
    </property>
</bean>

<bean id="anyBean" class="anyclass" ...
        

如果知道屬性的切入點符合 anyBean 或者其它bean定義中的任何方法,這個maxin 將被應用。注意, lockMixin lockableAdvisor 定義都是 prototype的。 myAttributeAwarePointcut 切入點可以被定義成singleton,因為它不為 不同的被通知對象保存狀態。

5.10.?使用TargetSources

Spring提供了 TargetSource 的概念,由 org.springframework.aop.TargetSource 接口定義。這個接口負責返回實現切入點的 “目標對象”。每次AOP代理處理方法調用時,目標實例都會用到 TargetSource 實現。

使用Spring AOP的開發者一般不需要直接使用TargetSources,但是這提供了一種強大的方法來支持池,熱交換, 和其它復雜目標。例如,一個支持池的TargetSource可以在每次調用時返回不同的目標對象實例,使用池來管理實例。

如果你沒有指定TargetSource,就使用缺省的實現,它封裝了一個本地對象。每次調用會返回相同的目標對象 (和你期望的一樣)。

讓我們來看一下Spring提供的標準目標源,以及如何使用它們。

當使用定制目標源時,你的目標通常需要定義為prototype bean,而不是singleton bean。這使得 Spring在需要的時候創建一個新的目標實例。

5.10.1.?可熱交換的目標源

org.springframework.aop.target.HotSwappableTargetSource 允許切換一個AOP代理的目標,而調用者維持對它的引用。

修改目標源的目標會立即起作用。并且 HotSwappableTargetSource 是線程安全的。

你可以通過 HotSwappableTargetSource swap() 方法 來改變目標,就象下面一樣:

          HotSwappableTargetSource swapper = 
    (HotSwappableTargetSource) beanFactory.getBean("swapper");
Object oldTarget = swapper.swap(newTarget);
        

所需的XML定義如下:

          <bean id="initialTarget" class="mycompany.OldTarget">
</bean>

<bean id="swapper" 
    class="org.springframework.aop.target.HotSwappableTargetSource">
    <constructor-arg><ref local="initialTarget"/></constructor-arg>
</bean>

<bean id="swappable" 
    class="org.springframework.aop.framework.ProxyFactoryBean"
>
    <property name="targetSource">
        <ref local="swapper"/>
    </property>
</bean>
        

上面的 swap() 調用會修改swappable這個bean的目標。持有對這個bean應用的客戶端 將不會知道這個變化,但會立刻轉為使用新的目標對象。

雖然這個例子沒有添加任何通知--使用 TargetSource 也沒必要添加通知-- 當然任何 TargetSource 都可以和任何一種通知一起使用。

5.10.2.?支持池的目標源

使用支持池的目標源提供了一種和無狀態的session EJB類似的編程模式,在無狀態的session EJB中,維護了 一個相同實例的池,提供從池中獲取可用對象的方法。

Spring的池和SLSB的池之間的重要區別在于Spring的池可以被應用到任何普通Java對象。就象Spring的通用 的做法,這個業務也可以以非侵入的方式被應用。

Spring直接支持Jakarta Commons Pool 1.1,它是一種非常高效的池實現。使用這個功能,你需要在你的應用的 classpath中添加commons-pool的Jar文件。也可以直接繼承 org.springframework.aop.target.AbstractPoolingTargetSource 來支持其它池API。

下面是一個配置的例子:

          <bean id="businessObjectTarget" class="com.mycompany.MyBusinessObject" 
    singleton="false">
    ... properties omitted
</bean>

<bean id="poolTargetSource" 
    class="org.springframework.aop.target.CommonsPoolTargetSource">
    <property name="targetBeanName"><value>businessObject</value></property>
    <property name="maxSize"><value>25</value></property>
</bean>

<bean id="businessObject" 
    class="org.springframework.aop.framework.ProxyFactoryBean"
>
    <property name="targetSource"><ref local="poolTargetSource"/></property>
    <property name="interceptorNames"><value>myInterceptor</value></property>
</bean>
        

注意例子中的目標對象“businessObjectTarget” 必須 是prototype。這樣在 PoolingTargetSource 的實現在擴大池容量的時候可以創建目標的新實例。關于這些屬性的 信息可以參考 AbstractPoolingTargetSource 和子類的Javadoc。maxSize是最基本的屬性, 被保證總是存在。

在這種情況下,名字為“myInterceptor”的攔截器需要定義在同一個IoC上下文中。但是,并不一定需要 指定攔截器也用池。如果你僅需要池,并且沒有其它通知,可以根本不設置屬性interceptorNames。

也可以配置Spring以便可以將任何池化的對象轉換類型為 org.springframework.aop.target.PoolingConfig 接口。通過這個接口的一個引入,可以得到 配置信息和池的當前大小。你需要這樣定義一個advisor:

          <bean id="poolConfigAdvisor" 
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
    <property name="target"><ref local="poolTargetSource" /></property>
    <property name="targetMethod"><value>getPoolingConfigMixin</value></property>
</bean>
        

通過調用 AbstractPoolingTargetSource 類上的方法,可以得到這個advisor, 因此使用MethodInvokingFactoryBean。這個advisor的名字(“poolConfigAdvisor”)必須在暴露池化對象的 This advisor is obtained by calling a convenience method on the ProxyFactoryBean中的攔截器名字列表中。

這個類型轉換就象下面:

          PoolingConfig conf = (PoolingConfig) beanFactory.getBean("businessObject");
System.out.println("Max pool size is " + conf.getMaxSize());
        
池化無狀態業務對象并不是總是必要的。我們不認為這是缺省選擇,因為大多數無狀態對象自然就是線程 安全的,如果資源被緩存,實例池化會有問題。

簡單的池也可以使用自動代理。任何自動代理生成器都可以設置TargetSources。

5.10.3.?Prototype目標源

設置“prototype”目標源和支持池的目標源類似。在每次方法調用的時候都會創建一個新的目標實例。 雖然在現代JVM中創建對象的代價不是很高,但是裝配新對象的代價可能更高(為了maz滿足它的IoC依賴關系)。 因此沒有好的理由不應該使用這個方法。

為了這么做,你可以修改上面的的 poolTargetSource 定義,就向下面一樣。 (為了清晰起見,我修改了名字。)

          <bean id="prototypeTargetSource" 
    class="org.springframework.aop.target.PrototypeTargetSource">
    <property name="targetBeanName"><value>businessObject</value></property>
</bean>
        

只有一個屬性:目標bean的名字。在TargetSource實現中使用繼承是為了保證命名的一致性。就象支持池的 目標源一樣,目標bean必須是一個prototype的bean定義。

5.11.?定義新的通知類型

Spring AOP設計能夠很容易地擴展。雖然攔截實現的策略目前只在內部使用,但還是有可能支持攔截around通知, before通知,throws通知和after returning通知以外的任何通知類型。

org.springframework.aop.framework.adapter 包是一個支持添加新的定制通知類型而不修改核心框架的SPI(譯:可能是API)包。定制通知類型的唯一限制是它必須實現 org.aopalliance.aop.Advice 標記接口。

更多信息請參考 org.springframework.aop.framework.adapter 包的Javadoc。

5.12.?進一步的資料和資源

對于AOP的介紹,我推薦Ramnivas Laddad (Manning, 2003)寫的 AspectJ in Action

進一步的Spring AOP的例子請參考Spring的示例應用:

  • JPetStore的缺省配置演示了使用TransactionProxyFactoryBean來定義聲明式事務管理。

  • JPetStore的 /attributes 目錄演示了屬性驅動的聲明式事務管理。

如果你對Spring AOP更多高級功能感興趣,可以看一下測試套件。測試覆蓋率超過90%,并且演示了本文檔沒有提到 的許多高級功能。

5.13.?路標

Spring AOP,就象Spring的其它部分,是開發非常活躍的部分。核心API已經穩定了。象Spring的其它部分一樣, AOP框架是非常模塊化的,在保留基礎設計的同時提供擴展。在Spring 1.1到1.2階段有很多地方可能會有所提高,但是這 些地方也保留了向后兼容性。它們是:

  • 性能的提高 :AOP代理的創建由工廠通過策略接口處理。因此我們能夠支持額外的AOP 代理類型而不影響用戶代碼或核心實現。對于Spring 1.1,我們正在檢查AOP代理實現的所有字節碼,萬一不需要 運行時通知改變。這應該大大減少AOP框架的額外操作。但是注意,AOP框架的額外操作不是在普通使用中需要考慮 的內容。

  • 更具表達力的切入點 :Spring目前提供了一個具有表達力的切入點接口,但是我們 添加更多的切入點實現。我們正在考慮提供一個簡單但具有強大表達式語言的實現。如果你希望貢獻一個有用的 切入點實現,我們將非常歡迎。

  • 引入 方面 這個高層概念,它包含多個advisor。

Spring AOP: Spring之面向方面編程


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费观看一级淫片 | 国产又爽又黄又无遮挡的激情视频 | 日本三级播放 | 香港台湾经典三级a视频 | www.色17.com| 欧洲美熟女乱av在 | 真实亲伦对白清晰在线播放 | 999国产视频 | 国产毛片a高清日本在线 | 色五月丁香五月综合五月亚洲 | 超碰影院在线 | 国产永久在线观看 | 99mav| 日韩精品一区在线视频 | 黄色大片视频网站 | 九九热精品在线播放 | 免费特黄视频 | 久久精品欧美视频 | 黄色免费在线网站 | 69大东北熟妇高潮呻吟 | 一区二区三区三区在线 | 伊人99热 | 国产精品二区一区二区aⅴ污介绍 | 久久久77| 国产欧美另类久久久精品丝瓜 | 欧美在线色图 | 亚洲国产成人久久综合碰碰 | 欧洲一区在线 | 日韩人妻无码精品一专区二区三区 | 欧美性猛交xxxx富婆 | 8v天堂国产在线一区二区 | 饥渴少妇av| 国产欧美久久一区二区三区 | 成人欧美一区二区三区1314 | 亚洲网站在线观看 | 嫖妓丰满肥熟妇在线精品 | 亚洲免费黄色 | www.奇米.com | 日日燥夜夜燥 | 中文字幕一区三级久久日本 | 88av在线| 国产亚洲va在线电影 | 精品丝袜国产自在线拍小草 | 超碰97人人做人人爱亚洲尤物 | 国产精品亚 | 国产精品亚洲а∨无码播放麻豆 | 国产成人精品无缓存在线播放 | 玖草资源 | 久久人久久| 国产69精品久久久久9999 | 天天天天操| 热久久精品国产 | 美日韩一区二区三区 | 欧美成人精品福利视频 | 五月天伊人网 | 久久激情日本亚洲欧洲国产中文 | 人妻无码第一区二区三区 | 日本一二三不卡 | 欧美一区二区视频在线观看 | 久久丫亚洲一区二区 | 中文字幕一区二区三区有限公司 | 一夲道av无码无卡免费 | 99热中文 | 五月天婷亚洲天综合网精品偷 | 97se亚洲国产综合自在线 | 亚洲欧美v国产一区二区 | 九九99热久久精品离线6 | 99国产欧美另类久久片 | 一个色综合国产色综合 | 亚洲精品高清无码视频 | 久久99热这里只频精品6 | 一本色道久久综合狠狠躁篇适合什么人看 | 乡村乱淫 | 亚洲日本影院 | 欧美精品欧美极品欧美激情 | www.国产99| 国产精品爽爽v在线观看无码 | 日韩中文字幕免费在线观看 | 欧美熟妇色ⅹxxx欧美妇 | 国产精品国产三级国av在线观看 | 日韩精品视频在线免费观看 | 国产欧美一级 | 国产视频在线观看网站 | 亚洲综合站 | 中文字幕久久久人妻无码 | www.五月天婷婷 | 军人全身脱精光自慰 | 一本到av | 欧美性生活小视频 | 久久久网址 | 国产国产乱老熟女视频网站97 | 国产在线拍偷自揄拍无码 | 欧美中文字幕第一页 | 亚洲va久久久噜噜噜久久狠狠 | 亚洲一区二区久久 | 亚洲免费成人在线 | 精品国产aⅴ一区二区三区 成人国产精品一区二区视频 | 欧美日韩不卡 | 综合精品欧美日韩国产在线 | 一边捏奶一边高潮视频 | 激情内射亚洲一区二区三区 | 日本xxxxx高潮少妇 | 中文字幕38页 | 午夜女色国产在线观看 | 伊人色综合久久天天小片 | 麻豆国产97在线 | 中国 | 国产做爰全过程免费的视频 | 国产一级精品视频 | 亚洲国产精品久久久天堂不卡海量 | 吃奶呻吟打开双腿做受在线视频 | 国产三级日本三级在线播放 | 无遮挡的又色又污又黄的网站 | 福利片一区 | 亚州av色图 | 国产精品久久久久久亚洲调教 | 日韩女女同一区二区三区 | 国产福利无码一区二区在线 | 精品少妇一区二区三区免费观 | 五月激情视频 | 尤物久久av一区二区三区亚洲 | 亚洲第一激情 | 性网站免费 | 91中文字幕网 | 欧洲精品视频在线 | 久久综合国产乱子伦精品免费 | 日本囗交一级视频 | 男人av无码天堂 | www.色婷婷.com | 欧美激情亚洲一区 | 日韩久久国产 | 亚洲成a人片在线观看久 | 精品久久8x国产免费观看 | 成年片免费观看网站 | 日本高清不卡在线观看 | 少妇性荡欲午夜性开放视频剧场 | 超碰人人人人人 | 国产无套内射普通话对白 | 51精品免费视频国产专区 | 91在线第一页 | 无码一区二区三区亚洲人妻 | 国产又色又爽又黄好看的视频 | 日本a级大片 | 亚洲精品二区 | 999在线视频 | 欧美做受视频播放 | av免费在线不卡 | 久久久免费看片 | 亚洲视频一区在线播放 | 国产麻豆剧传媒精品国产av | 男女啪啦啦超猛烈动态图 | 国产最新精品 | 太粗太深了太紧太爽了动态图男男 | 免费网站看sm调教视频 | 日本少妇高潮叫床声一区二 | 18级成人毛片免费观看 | 成人免费视频网站在线看 | 不卡中文 | 狠狠五月深爱婷婷网 | 亚洲欧美在线视频观看 | 国产国拍精品av在线观看 | 精品人人人人 | 日本欧美韩国国产精品 | 日韩成人av毛片 | 欧美日韩福利视频 | 在线毛片网 | 久久国产中文娱乐网 | 色久在线| 国产露脸xxⅹ69 | 日韩一卡2卡3卡4卡乱码网站导航 | 成人一级黄色大片 | 日韩欧美理论 | 亚国产亚洲亚洲精品视频 | 国产乱码久久久久 | 中文字幕日韩一区二区不卡 | 国产精品天天av精麻传媒 | 精品乱码久久久久久中文字幕 | 欧美 日韩 国产 成人 在线观看 | 五月婷婷天| 久草福利资源 | 97香蕉碰碰人妻国产欧美 | 97色国产 | 国产精品久久久久精 | 亚洲欧美日韩一区二区三区在线 | 天堂福利| 国产又粗又硬又大爽黄老大爷视 | 国产内射xxxxx在线 | 无码色av一二区在线播放 | 国产成年视频 | 精品无码av无码免费专区 | 国产清纯美女爆白浆视频 | 日本一本到道免费一区二区 | 久久无码无码久久综合综合 | 中文无码久久精品 | 国产精品免费看久久久 | 十八禁视频在线观看免费无码无遮挡骂过 | 偷拍视频一区 | 亚洲无毛视频 | 国产99在线 | 欧美 | 亚洲一区二区三区四区五区黄 | 久久日本片精品aaaaa国产 | 成人欧美一区二区三区黑人孕妇 | 成人亚洲在线 | 国产成人亚洲综合a∨猫咪 色吧五月婷婷 | 久久av高潮av无码av | 日韩国产欧美视频 | 日爽夜爽| 国产精品视频导航 | 日本在线观看邪恶网站不卡 | 在线视频国产制服丝袜 | 国产一区二区三区免费高清在线播放 | 一本大道av伊人久久综合 | 毛片基地在线观看 | 国产精品免费观看调教网 | 成人做爰高潮尖叫声免费观看 | a级毛片久久| 亚洲天天综合网 | 麻豆精品一区二区综合av | 乱人伦人妻中文字幕不卡 | 九哥草逼网 | 久久天堂av综合色无码专区 | 欧美a一区| 成人中文字幕+乱码+中文字幕 | 国产日产欧洲无码视频 | 狠狠精品干练久久久无码中文字幕 | 亚洲va欧美va国产综合剧情 | 亚洲日韩久久综合中文字幕 | 欧美另类性| 亚洲成人网页 | 国产亚洲精品久久yy5099 | 亚洲视频精品一区二区 | wwwxxx美女 | xxx久久 | 一个添下面两个吃奶把腿扒开 | 美女爽爽影院 | 国产裸体美女视频全黄扒开 | 日本黄色美女视频 | 国产乱码字幕精品高清av | 奇米久久 | 成人精品18m国产免费网站 | 国产成人精品午夜福利不卡 | 久久精品国产99国产精品最新 | a级毛片蜜桃成熟时2免费观看 | 蜜臀久久99精品久久久无需会员 | 人妻夜夜爽天天爽爽一区 | 国精产品一区一区三区有限公司杨 | 久久第四色 | 国产精品videossex久久发布 | 国产成人69视频午夜福利在线观看 | 国产人妻一区二区三区久 | 日产幕无线码三区在线 | 日本老熟妇50岁丰满 | 中国少妇xxxⅹ性xxxx | 在线观看人成视频免费不卡 | 女m羞辱调教视频网站 | 国产精品久久久久久久模特人妻 | 少妇无套高潮一二三区 | 永久在线观看 | 亚洲中字在线 | 韩国精品无码久久一区二区三区 | 国产精品久久久久久久一区二区 | 手机在线观看你懂的 | 日本三级免费网站 | 无码人妻精品中文字幕免费 | 色一情一区二区三区 | 国产白嫩精品又爽又深呻吟 | 国产在线精品99一卡2卡 | av在线操| 懂色av一区二区三区在线播放 | 色狠狠色噜噜av天堂一区 | 一边啪啪的一边呻吟声口述 | 九九久久精品国产av片国产 | 亚洲亚洲精品av在线动态图 | 新婚少妇无套内谢国语播放 | 亚洲第一综合色 | 免费无码麻豆av片在线观看 | 久久月本道色综合久久 | 九九免费精品视频 | 97色婷婷人人爽人人 | 男人的亚洲天堂 | 北条麻妃人妻av在线专区 | 国产av无码国产av毛片 | 国产极品美女高潮视频写真网址 | av9.ai | 亚洲aaaaa特级 | 希岛爱理aⅴ在线中文字幕 国产白丝喷水娇喘视频 | 男人天堂资源网 | a狠狠久久蜜臀婷色中文网 天天干天天射天天舔 | 无码播放一区二区三区 | 国产77777| 久久99亚洲精品久久69 | 国产亚洲精品久久久久久无亚洲 | 久久九九久精品国产88 | 精品国产自在现线看久久 | 亚洲色图一区二区三区 | 欧美熟妇与小伙性欧美交 | 国产免费无码一区二区三区 | 玖玖资源站亚洲最大的网站 | 亚洲一卡二卡三卡四卡无卡麻豆 | 少妇真人直播免费视频 | 成人av时间停止系列在线 | 女友在黑人垮了下呻吟 | 亚洲伊人一本大道中文字幕 | 一区二区三区乱码在线 | 欧洲 | 国产在线观看片a免费观看 午夜激情国产 | 国产精品一区二区久久久久 | 一区二区狠狠色丁香久久婷婷 | 91视频网页版 | 日本在线视频免费 | 国产免费黄网站 | 国产寡妇亲子伦一区二区三区 | 成人性色生活片免费看l | 国产成人av在线婷婷不卡九色 | 一级片免费观看视频 | 亚洲一区二区在线看 | 五月综合激情在线 | 成人美女黄网站色大免费的88 | 精品久久久久久久久久中文字幕 | 蝌蚪久久| 人妻少妇av中文字幕乱码 | 国产午夜三级 | 你懂的网站在线 | 口爆吞精一区二区久久 | 欧美一区亚洲二区 | 成年女人免费视频播放体验区 | 精品国产三级a在线观看 | 亚洲性少妇 | 日韩视频在线免费 | 欧美精品一区二区三区久久久 | 久久久综合亚洲色一区二区三区 | 亚洲欧美综合久久 | 成人h在线 | 久久婷婷中文字幕 | 永久免费黄色大片 | 天天躁日日躁狠狠躁图片swag | 99久久一区二区 | 日本亚洲最大的色成网站www | 野花社区www视频最新资源 | 亚洲午夜理论电影在线观看 | 欧美日韩精品一区二区三区蜜桃 | 好男人www社区免费视频 | 在线天堂中文www官网 | 亚洲网站在线免费观看 | 九九五月天 | 欧美xxxx做受欧美88bbw | av资源中文在线 | 免费黄色一级视频 | 日韩精品乱 | 日产中文字幕在线精品一区 | 影音先锋中文字幕人妻 | 亚洲午夜福利在线视频 | 国产中文字幕在线视频 | 老司机福利av| 国产一区二区三区a | 久久www免费人成精品 | 久久久久久综合网 | 体内精69xxxxxx美女 | 久久综合88熟人妻 | 久久福利国产 | 日韩丝袜av| 玖玖伊人 | 蜜臀avcom | 国产人成看黄久久久久久久久 | 国产午夜精品美女视频明星a级 | 久久亚洲综合 | 国产资源在线免费观看 | 国产一久久 | 国产成人精品一二三区 | 秋霞电影网午夜鲁丝片无码 | 久操中文 | 护士的奶头又大又白又好摸 | 青青青手机在线观看 | 亚洲高清中文字幕在线看不卡 | 激情喂奶xxxxhd | 欧美寡妇性猛交 | 尤物国精品午夜福利视频 | 嫩草嫩草嫩草嫩草嫩草嫩草 | 黑人巨大精品欧美一区二区 | av中文天堂在线 | 国产精品宾馆国内精品酒店 | 国产成人在线免费观看 | 永久av免费在线观看 | 日日摸日日碰人妻无码老牲 | 国产成人精品人人做人人爽 | 久久免费视频3 | 伊人伊人伊人伊人 | 超碰在线9 | 九九热这里| 九九视频免费 | 最新国产精品拍自在线观看 | 久久精品h | 99久久超碰中文字幕伊人 | 人妻熟妇乱又伦精品视频中文字幕 | 日本熟妇毛耸耸xxxxxx | jzzjzzjzz成熟丰满少妇 | 亚洲综合视频一区 | 欧美毛多水多肥妇 | 精品一区精品二区 | 2021国产精品成人免费视频 | 7777少妇色视频免费播放 | 人妻少妇精品视频一区二区三区 | 国产乱妇乱子在线播视频播放网站 | 后进式无遮挡啪啪摇乳动态图 | 人妻无码人妻有码中文字幕在线 | 中文字幕亚洲乱码熟女在线 | 欧美高清大屁股xxxxx | 强被迫伦姧在线观看无码 | 亚洲欧美激情国产综合久久久 | 精品一区二区三区四区外站 | 中文字幕资源网 | 久久中文字幕av一区二区不卡 | 荡女淫春台湾版 | 看全色黄大色黄大片女一次牛 | 色老99久久精品偷偷鲁 | 日本一级在线观看 | 国产麻豆剧果冻传媒星空视频 | 曰本无码不卡高清av一二 | 人爽人人爽 | 国产无套白浆视频在线观看 | 久久黄色成人 | 日韩人妻无码精品专区906188 | 蜜桃精品在线 | 国产欧美一区二区精品婷 | 天干天干啦夜天干天天爽 | 波多野结衣乳巨码无在线 | 撕开奶罩揉吃奶高潮av在线观看 | 日本乱码视频 | 国产麻豆精品福利在线观看 | 琪琪av色原伊人大芭蕉 | 日韩激情第一页 | av在线 亚洲 天堂 | 性高湖久久久久久久久 | 欧美精品在线一区二区三区 | 日韩精品h| 国产成人av区一区二区三 | 日本免费啪视频在线看视频 | 国产欧美一区二区三区视频 | 人妻少妇一区二区三区 | 日韩国产亚洲欧美成人图片 | 综合图片亚洲综合网站 | 国产做a爰片久久毛片a片美国 | 怡红院成永久免费人视频新的 | 青草青在线视频在线观看 | 黄色片免费在线播放 | 精品少妇一区二区三区日产乱码 | 麻豆国产精成人品观看免费 | 99热99在线 | 黄色av网站在线播放 | 日本少妇喷水视频 | 午夜视频网站在线观看 | 欧美偷拍一区二区 | 捏胸吃奶吻胸免费视频网站 | 亚洲精品无码午夜福利中文字幕 | 中午字幕在线观看 | 美女裸免费观看网站 | 亚州中文字幕午夜福利电影 | 亚洲一线二线三线写真 | 人妻无码久久中文字幕专区 | 影音先锋中文字幕在线视频 | 超碰在线国产97 | 中国一级特黄真人毛片免费观看 | 国产午夜亚洲精品区 | 加勒比中文字幕无码一区 | 亚洲欧美日本中文字不卡 | 97国产色呦呦呦夜嗨嗨 | 可以免费看的黄色 | 中文字幕在线网 | 四川少妇大战4黑人 | 日韩美女在线观看一区 | 午夜精品久久久久久久99 | 91成熟丰满女人少妇777 | av片免费看 | 色欲av伊人久久大香线蕉影院 | 国产成人免费av一区二区午夜 | 亚洲精品国产一区二 | 综合久久一区 | 青青视频精品观看视频 | 日本黄视频网站 | 成人日韩熟女高清视频一区 | 中文学幕专区 | 91日本在线播放 | 欧美jizz18性欧美| 欧美精品欧美精品系列 | 91av福利| 中国老妇xxxx性开放 | 99久久夜色精品国产亚洲 | 日本v片在线观看 | 女性无套免费网站在线看动漫 | 亚洲熟妇色自偷自拍另类 | 国色天香一区二区 | 亚洲中文字幕一区精品自拍 | 爱情岛论语亚洲入口 | 秋霞影院午夜伦a片欧美 | 欧美一区二区在线视频观看 | 日日干夜夜撸 | 国产亚洲精久久久久久叶玉卿 | 久操免费在线 | 久久久久久av无码免费网站 | 国产一极内射視颍一 | 又大又长又粗又爽又黄少妇视频 | 99国产精品无码专区 | 欧美二区乱c黑人 | 亚裔大战黑人老外av | 野花社区免费观看在线www | 日日夜夜操操操 | 极品嫩模无套啪啪呻吟 | 亚洲午夜成人精品电影在线观看 | 不卡亚洲 | 尤物97国产精品久久精品国产 | 亚洲精品456在线播放第一页 | 欧美精品手机在线 | 91欧美精品成人综合在线观看 | 亚洲视频中文字幕 | 911久久香蕉国产线看观看 | 法国啄木乌av片在线播放 | 日韩精品一区二区三区在线播放 | 乱亲女h秽乱长久久久 | 在线视频精品免费观看10 | 久久人人爽人人爽人人片av软件 | 成年女人免费碰碰视频 | 国产免费福利在线视频 | 日本亚洲欧美 | 91丨porny在线 | 国产午夜人做人免费视频 | 久久精品成人欧美大片 | 寂寞骚妇被后入式爆草抓爆 | 嫩草在线观看视频 | 91香蕉网 | 久久久久偷看国产亚洲87 | 久久久日韩 | 亚洲在av极品无码天堂手机版 | 日韩拍拍 | 超碰在线免费97 | 欧美三级免费看 | 中文字幕永久 | 精品精品自在现拍国产2021 | 天天干天天舔天天操 | 乱码精品一卡二卡无卡 | 咪咪久久 | 婷婷丁香在线 | 色佬视频| 在线中出| 97久久偷偷做嫩草影院免费看 | 嫩草影院你懂的 | 91精品国产综合久久婷婷香 | 国产片网址 | 99re热免费精品视频观看 | 黑料av在线| 日本亚洲欧美在线视观看 | 国产午夜永久福利视频在线观看 | 91橘梨纱中出体验在线观看 | 国产精品视频露脸 | 久久国内精品视频 | 免费国产一区二区 | 亚欧洲精品在线 | 99视频30精品视频在线观看23245 天天性综合 | 欧美牲交a欧美牲交aⅴ免费真 | 婷婷丁香视频 | 精品一区二区在线播放 | 亚洲综合区图片小说区 | 日本天堂网在线观看 | 狠狠色狠狠色综合久久一 | 久久久成人一区二区免费影院 | 国产乡下妇女做爰视频 | 西西人体大胆www44he七 | 欧美日韩在线看片 | 国产美女被遭高潮免费网站 | ady狠狠躁免费视频 日日日干干干 | 亚洲精品亚洲人成在线观看下载 | 国产裸体写真av一区二区 | 久久久久av综合网成人 | 在线看黄网| 久久99国内精品自在现线 | 国产一级特黄aaa大片评分 | 一色桃子656中文字幕 | 香港三日本三级少妇66 | 黑人多群性xxxsex | 亚洲精品国产一区二区三 | 香蕉成人伊视频在线观看 | 精品国产一区二区三区忘忧草 | 中文字幕精品一区二区精品 | 久久国产精品免费一区下载 | 成人免费淫片 | 国产黑色丝袜在线播放 | 国产精品丝袜黑色高跟鞋v18 | 国产高清午夜人成在线观看 | 污污又黄又爽免费的网站 | 神马午夜精品 | 奇米影视第四色首页 | 日韩精品一区二区葵司亚洲91 | 午夜激情福利视频 | 免费黄色在线播放 | 日本少妇高潮正在线播放 | 91不卡视频| 亚洲做受高潮软件 | 又爽又黄无遮挡高潮视频网站 | 国产又大又黑又粗 | 男女爽爽午夜18污污影院 | 91高清免费视频 | 国产精品综合在线 | 大岛优香中文av在线字幕 | 中日产幕无线码一区 | 日韩精品极品视频在线观看免费 | 欧美xxxx印度人 | 丁香婷婷激情 | 人妻无码专区一区二区三区 | 欧洲乱码伦视频免费 | 无套内谢丰满少妇中文字幕 | 日韩精品一区二区视频 | 国内精品卡一卡二卡三 | 亚洲精品久久久久久久久av无码 | 欧美黄色a视频 | 美女131mm久久爽爽免费 | 国产精品无码一区二区三区不卡 | 欧美天堂一区二区三区 | 一本到无码av专区无码 | 被窝影院午夜无码国产 | 美女末成年视频黄是免费网址 | 国产精品日韩在线 | 九精品 | 午夜无码免费福利视频网址 | 国产在线精品无码av不卡顿 | www.99精品 | aaaa日本大尺度裸体艺术西西 | 91久久精品日日躁夜夜躁欧美 | 2020最新国产情侣网站 | 999视频在线观看 | 亚洲欧美中文日韩在线v日本 | 丰满诱人的人妻3 | 亚洲国产一区二区三区在线观看 | av女优天堂在线观看 | 国产专区一线二线三线码 | 好吊操精品视频 | 日韩在线二区 | 精品久久久久久国产偷窥 | 成·人免费午夜视频香蕉 | 国产另类在线 | 国产大人和孩做爰bd | 天天曰天天操 | 久久人人添人人爽添人人88v | 日本亚洲黄色 | 在线播放免费播放av片 | 国产午夜福利在线播放爱剪辑 | 成人久久久| 亚洲漂亮少妇毛茸茸 | www.久久精品视频 | 熟女体下毛毛黑森林 | 少妇高潮惨叫喷水正在播放 | 久久综合热| 亚洲国产精品系列 | 伊人色在线视频 | 日韩免费| 免费啪视频在线观看视频日本 | 亚洲人成网站色www 国产又粗又猛又爽的免费网站 | 人妻少妇88久久中文字幕 | 狠狠色很很在鲁视频 | 亚洲中文有码字幕日本 | 欧美熟妇丰满肥白大屁股免费视频 | 国产精品久久久久久熟妇吹潮软件 | 人妻被修空调在夫面侵犯 | 久久夜色视频 | 天天爱夜夜爱 | 久久精品av国产一区二区 | 少妇人妻好深太紧了a | av黄色一区| 中文字幕av无码一区二区蜜芽三区 | 隔壁人妻偷人bd中字 | 少妇在线 | 欧美日批视频 | 青青草手机在线视频 | www.91sese| 亚洲精品乱码久久观看网 | 亚洲第一区无码专区 | 西西4444www大胆无码 | 性色97a∨人人爽网站 | 久久久久国产精品人妻照片 | 欧美在线色图 | 台湾av在线 | 91偷拍一区二区三区精品 | 久久精品国产一区二区三区不卡 | 在线观看日韩av | 国产日产suv精品一区二区6 | 四虎永久在线精品884aa | 福利片视频区 | 99热这里只有精品国产免费免费 | 日韩高清在线观看永久 | 成人性生交a做片 | 国内毛片精品av一二三 | 亚洲r成人av久久人人爽澳门赌 | 亚洲免费在线播放视频 | 免费看久久妇女高潮a | 91久久精品日日躁夜夜躁欧美 | 国产裸体瑜伽xxx在线 | 免费一级黄色片 | 久久草在线视频免费 | 亚洲国产成人私人影院tom | 宅男噜噜噜66在线观看 | 色婷婷六月亚洲综合香蕉 | 夜色爽爽影院18禁妓女影院 | 亚洲国产高清av网站 | 国产成人综合在线 | 2019午夜三级网站理论 | 精品视频国产香人视频 | 精品少妇高潮 蜜臀 | 又爽又黄禁片视频1000免费 | 人人射人人射 | 日本少妇网站 | 国内丰满少妇猛烈精品播 | 午夜国内精品a一区二区桃色 | 免费一级肉体全黄毛片 | 成人性视频在线播放 | 麻豆国产一区二区三区 | 又湿又紧又大又爽a视频国产 | 国产亚洲精品久久久ai换脸 | 一道本在线伊人蕉无码 | 久久综合国产乱子伦精品免费 | 国产又色又爽无遮挡免费动态图 | 欧美夜夜夜 | 伊人久久大香线蕉avapp下载 | 99精品久久久中文字幕 | 成人免费看片98欧美 | xxxxxhd亚洲人hd | 国产成人啪精品午夜在线观看 | 精品久久久久久中文字幕无码软件 | 国产在线98福利播放视频 | 青青草成人在线 | jizz一区二区 | 91精品国产色综合久久 | 天堂另类网站 | 午夜h视频| 在线天堂新版资源www在线 | 成年人免费小视频 | 欧美日韩视频在线 | 亚洲天堂免费在线观看视频 | 日韩精品电影综合区亚洲 | 日本中文一二区有码在线 | 亚洲精品少妇 | 爱性久久久久久久久 | 国产 在线 | 日韩 | 激情综合六月 | 一区在线播放 | 黄色片在线观看网站 | 欧美精品久久久久久久久老牛影院 | 日本一区二区三区在线视频 | 欧美日韩国产精品一区 | 美国成人在线 | 亚洲精品乱码久久久久v最新版 | 一区二区三区高清视频3 | 日韩精品 中文字幕 视频在线 | 国产亚洲欧美日韩夜色凹凸成人 | 亚洲第5页 | 久久午夜神器 | 亚洲一本之道 | 国产一区二区精品久久岳 | 亚洲日韩欧美一区、二区 | 天天射夜夜骑 | 国产精品h片在线播放 | 欧美人妖一区二区 | av天堂永久资源网亚洲高清 | 红桃17c视频永久免费入口 | 亚洲综合色婷婷 | 亚欧成人无码av在线播放 | 久久久亚洲精品一区二区三区 | 国产精品99久久久久久白浆小说 | 在线观看第一页 | 日本三级视频在线观看 | 99在线精品视频观看免费 | 四色成人av永久网址 | 狂野欧美激情性xxxx在线观看 | 青青在线精品视频 | 亚洲爆乳中文字幕无码专区网站 | 亚洲成a∨人片在线观看不卡 | 天天躁天天弄天天爱 | 国产一区二区三区导航 | 91国产精品视频在线观看 | 手机在线看永久av片免费 | 午夜三级a三级三点窝 | 国产乱码一区二区三区 | 精品久久久无码人妻中文字幕 | 极品尤物一区二区三区 | 国精精品一区二区三区有限公司 | 97超级碰碰碰免费公开在线观看 | 99久久婷婷 | 午夜激情免费视频 | 黄色一级大片网站 | 成人午夜亚洲精品无码区毛片 | 亚洲激情久久久 | 韩国女主播一区二区三区 | 亚洲精品视频在线观看免费 | 蜜桃视频在线观看免费视频网站www | 亚洲乱码国产乱码精品精 | 日韩aaa| 国产丰满老熟妇乱xxx1区 | 亚洲成aⅴ人片久青草影院 国产v片在线播放 | 国产一区二区在线视频 | а√天堂资源国产精品 | 麻豆精品一区二区三区 | 国产欧美视频一区二区 | 男男女女爽爽爽免费视频 | 中文字幕第10页码 | 久久伊人少妇熟女大香线蕉 | 日韩裸体人体欣赏pics | 991av| 91视频爱爱| 国产精品女同一区二区 | 91免费官网 | 99久久超碰中文字幕伊人 | 大桥未久av一区二区三区 | 国产小受呻吟gv视频在线观看 | 免费无码鲁丝片一区二区 | 亚洲精品乱码久久久久久自慰 | 狠狠操图片 | 精品国产麻豆免费人成网站 | 国产成人三级 | 中文字幕无码久久精品 | 又色又爽又高潮免费视频国产 | 特黄性暴力强在线线播放 | 91在线网| 无码人妻丰满熟妇区96 | sao虎视频在线精品永久 | 免费在线观看网址 | 欧妇女乱妇女乱视频 | 久久精品蜜芽亚洲国产av | 亚洲h成年动漫在线观看网站 | 欧美xxxxxhd | 在线观看肉片av网站免费 | 亚洲a∨国产av综合av麻豆丫 | 亚洲色图偷窥自拍 | 91精品一区二区 | 亚洲 激情 | 国产成人精选视频在线观看 | 精品国产一区二区三区久久久 | 日本一区二区无卡高清视频 | 欧美色就色 | 成人看片黄a免费看那个网址 | 乌克兰美女浓毛bbw 暖暖 免费 高清 日本 在线 | 国产成人免费片在线观看 | av在线日| 日韩一区二区视频 | 黄色av网站网址 | 日日碰狠狠躁久久躁2023 | 日本熟日本熟妇在线视频 | 午夜家庭影院 | 少妇精品无码一区二区三区 | 国产精品xxxxxx | 国产重口老太伦 | 小妖精又紧又湿高潮h视频69 | 亚洲国产成人久久精品软件 | 欧美一级特黄免费 | 亚洲欧美丝袜中文综合 | 亚洲国产无线乱码在线观看 | 狠狠色噜噜狠狠狠 | 亚洲性喷水 | 日欧美女人 | 男男啪啪激烈高潮cc漫画免费 | 成人性生交a做片 | 荡女淫春 在线观看69影院 | 午夜人性色福利无码视频在线观看 | 欧美日韩一区二区视频不卡 | 久久久www成人免费毛片女 | 深夜福利免费 | 人人澡人摸人人添 | av网站资源| 亚洲国产馆 | 麻豆精品久久久久久久99蜜桃 | 久久久日韩 | h在线| 久久夜色精品亚洲 | 内射白嫩少妇超碰 | 亚洲a区视频 | 熟妇丰满多毛的大隂户 | 国产精品无码久久久久久久久久 | av中文无码韩国亚洲色偷偷 | 色麻豆国产原创av色哟哟 | 日本一级片在线播放 | 日韩美在线观看 | 国产成人无码免费视频97app | 91久久国产| 自偷自拍亚洲综合精品 | 日韩综合在线观看 | 欧美颜射内射中出口爆在线 | 欧美激情久 | 在线免费观看日本 | 干干人人 | 欧美人与动人物牲交免费观看 | 国产精品亚洲а∨无码播放麻豆 | 青青国产揄拍视频 | 女同二区| 欧美性黑人极品hd | 精品国产免费一区二区三区 | 小荡货好紧好爽奶头大视频 | 韩国主播福利一区二区三区 | 黄色网免费 | 亚洲视频综合在线 | 日本无卡无吗二区三区入口 | 精品国产三级a在线观看网站 | 久久久久久一区国产精品 | 日韩美女视频一区二区 | 欧美日韩国产专区一区二区 | 成人中文字幕av | 日韩在线永久免费播放 | 草久免费视频 | 性色av一区二区三区夜夜嗨 | 国产伦子沙发午休系列资源曝光 | 亚洲国产区 | 欧美精品在线免费 | 久操视频网站 | 欧美成人一区在线 | 欧美日韩国产三级 | 天躁夜夜躁狼狠躁 | 婷婷色一区 | 999亚洲国产精 | 国产线观看免费观看 | 亚洲精品国产av现线 | 69精品久久久久久 | 少妇一级淫免费放 | 看毛片网站 | 久久精品香蕉 | 在线看的av | h肉动漫无码无修6080动漫网 | 久久久一本精品99久久精品66 | 国产av无码日韩av无码网站 | 国产777涩在线 | 美洲 | 无码无遮挡在线观看免费 | 国产卡一卡二卡三卡免费 | 国精产品一区一区三区 | a√天堂中文 | 亚洲国产成人无码精品 | 97中文字幕在线观看 | 亚欧洲乱码视频一二三区 | 中文字幕 制服 亚洲 另类 | 国产97久久 | 国产奶头好大揉着好爽视频 | 国产精品第5页 | 九九热视频在线观看 | 热久久久久久 | 国产情侣啪啪 | 亚洲高清揄拍自拍 | 亚洲色图图片区 | 成人av片在线观看免费 | 国产性猛交xxxx免费看久久 | 黄网站免费永久在线观看下载 | 日本黄色免费在线观看 | 亚洲欧美日韩在线播放 | 高潮久久久久久 | 久久综合日本久久综合88 | 亚洲日韩欧美在线观看一区二区三区 | 国产如狼似虎富婆找强壮黑人 | 日韩乱码人妻无码超清蜜桃 | 亚洲一区视频网站 | 91新婚少妇在线播放 | 无码中文av有码中文av | 色爱av综合 | 精品一区heyzo在线播放 | 91视频网 | 综合无码一区二区三区四区五区 | 好爽进去了视频在线观看国版 | 99精品人妻国产毛片 | 色偷偷超碰av人人做人人爽 | 天天看片天天操 | 国产精品久久婷婷 | 亚洲人成电影免费观看在线看 | 国产叼嘿视频在线观看 | 亚洲自拍首页 | 四虎免费入口 | 欧美三级不卡在线播放 | 你懂的视频在线播放 | 国产黄a三级三级 | 韩国av永久免费 | 蜜桃成人在线 | 久久er这里只有精品 | 精品久久久久久中文字幕人妻最新 | 97人妻碰碰视频免费上线 | 欧美三级在线看 | 伊人成伊人成综合网222 | 又大又硬又爽免费视频 | 国模少妇一区二区三区 | 中文字幕第36页 | 国产精品麻豆成人av电影艾秋 | 无码国产精成人午夜视频一区二区 | 国产美女一区二区 | 成人91看片 | 国产又色又爽又黄又免费软件 | 狠狠撸在线视频 | 18性欧美xxxⅹ性满足 | 成年丰满熟妇午夜免费视频 | 99热超碰在线 | 日本老太做爰xxxx | 在线观看国产网址你懂的 | 午夜激情综合 | 日韩大片高清播放器 | 亚洲国产欧美日韩在线 | 在线精品亚洲第一区焦香 | 美女乱淫免费视频网站 | 中文视频在线观看 | 香蕉视频在线网站 | 天天噜日日噜 | 激情偷乱人成视频在线观看 | 精品久久久久久久免费人妻 | 美女涩涩网站 | 狠狠操夜夜爽 | 绝顶高潮合集videos | 精品丝袜人妻久久久久久 | 久久精品高清一区二区三区 | 色婷婷久久一区二区三区麻豆 | 一道本视频在线 | 久久天天躁狠狠躁夜夜av不卡 | 亚洲精品污一区二区三区 | av一区免费在线观看 | 亚洲午夜理论电影在线观看 | 极品粉嫩国产18尤物在线观看 | 巨胸喷奶水视频www 色综合天天综合网国产 | 日本黄页网站免费观看 | 久久狠| 他掀开裙子把舌头伸进去添视频 | 在线观看视频www | 91福利视频导航 | 国产亚洲精品久久久久久禁果tv | 免费国产在线精品一区 | 99热自拍偷拍 | 久久99这里只有精品 | 久久香蕉超碰97国产精品 | 在线色资源| 免费又黄又爽1000禁片 | 免费成人小视频 | 在线日韩日本国产亚洲 | 人禽无码视频在线观看 | 色悠久久久久综合网国产 | 亚洲欧美vr色区 | 久久精品免视看国产成人明星 | 亚洲va在线va天堂xxxx中文 | 青青青在线免费观看 | 西西人体www大胆高清 | 91精品久久久久久久 | 婷婷久久一区 | 香蕉久久a毛片 | 成人h无码动漫在线观看 | 一区二区三区四区在线 | 网站 | 久草久草久草 | 国产精品亚洲专区无码破解版 | 蜜国产精品jk白丝av网站 | 天堂中文在线资源库用 | 18男女拍拍拍久久精品 | 91嫩草影院在线观看 | 国产农村妇女毛片精品 | 午夜福利伦伦电影理论片在线观看 | 国产欧美日韩一区二区图片 | 亚洲色欲色欲www在线播放 | 亚洲国产精品女主播 | 欧美日韩精品无码一本二本三本色 | 国产精品伦视频看免费三 | 99在线精品国自产拍不卡 | 色综合久久无码五十路人妻 | 久久一二三区 | 亚洲欧美不卡高清在线 | 亚洲成aⅴ人片在线观看无app | 亚洲av毛片基地 | 中文字幕亚洲无线码 | 日韩综合中文字幕 | 亚洲日韩乱码久久久久久 | a级在线观看| 亚洲精品自产拍在线观看亚瑟 | www.超碰在线观看 | 成人午夜爽爽爽免费视频 | 午夜视频久久久久一区 | 国产va免费精品高清在线 | 国产依人在线 | 国产女人被狂躁到高潮小说 | 国产欲女高潮正在播放 | 欧美日韩精品在线播放 | 亚洲成色999久久网站 | 成视人a免费观看 视频 | 99热欧美| 自拍 高清 日韩 欧美 另类 | 国自产精品手机在线观看视频 | 男人的天堂中文字幕熟女人妻 | 狠狠干综合 | 免费看午夜福利专区 | 成人精品视频网站 | 少妇高潮喷水久久久久久久久久 | 97黄色片| 少妇爆乳无码av无码专区 | av片免费看| 成人乱人伦视频在线观看 | 亚洲国产成人欧美在线观看 | 国产精品亚洲аv无码播放 伊人精品网 | 国产人妻人伦精品1国产丝袜 | 德国性xxx与另类重口 | 亚洲精品国偷拍 | 国产欧美亚洲精品 | 无码中文av有码中文av | 免费看美女毛片 | 国产99久9在线 麻豆 | 亚洲色偷偷偷综合网 | 狠狠干婷婷 | www.欧美色 | 国产精品久久人妻互换毛片 | 亚洲专区视频 | 六月丁香婷婷色狠狠久久 | 免费网站看v片在线a | 久久免费午夜福利院 | 日韩午夜理论片 中文字幕 国产乱码卡二卡三卡4 | 香港三日本8a三级少妇三级99 | 久久激情综合狠狠爱五月 | 国产一区二区三区免费观看在线 | 亚洲人成网站777色婷婷 | 137肉体摄影日本裸交 | 性插视频免费 | 男插女青青 | 香蕉网av| 一区二区三区日韩视频 | exo妈妈mv中文版 | 国产美女爆我菊免费观看88av | 国产ae86亚洲福利入口 | 高潮又爽又无遮挡又免费 | 熟妇人妻va精品中文字幕 | 九色porny丨自拍视频 | 97自拍偷拍 | 男ji大巴进入女人的视频小说 | 懂色av一区二区在线播放 | 亚洲怡红院久久精品综合五月 | 天堂网www天堂在线中文 | 国产手机精品一区二区 | 2021精品国夜夜天天拍拍 | 欧美黑人一级 | 精品含羞草免费视频观看 | 手机免费av片 | 久久不见久久见视频观看 | 四虎www永久在线精品 | 国产精品一区三区 | 东京一木一道一二三区 | 亚洲国产精品成人天堂 | 日韩在线观看视频网站 | 亚洲 自拍 色综合图 12p | 在线三级网| 欲色天天网综合久久 | 91看片看淫黄大片 | 国产成人无码精品久久久露脸 | 中文字幕第六页 | 午夜成人无码福利免费视频 | 欧美另类xxxx野战 | 999视频网站| 午夜亚洲福利在线老司机 | 欧美成人午夜性视频 | 欧美亚洲日本国产综合在线美利坚 | 午夜精品免费视频 | 日韩成人小视频 | 性久久久久久久久久久久 | 18禁美女裸体无遮挡免费观看国产 | 国产嫩草影院久久久久 | 日本熟妇色熟妇在线视频播放 | 天堂无码人妻精品一区二区三区 | 色欲天天婬色婬香综合网完整 | 日韩在线国产精品 | 国产一级做a爱免费视频 | 初尝黑人巨砲波多野结衣 | 欧美日韩一区二区在线观看 | 性色av一区二区三区免费看开蚌 | 欧美黑人性暴力猛交喷水黑人巨大 | 好了av四色综合无码久久 | 久久国产免费福利永久 | 天天做天天爱天天爽综合网 | 一区二区三区视频在线观看免费 | 另类视频第一页 | 日本人体一区 | 亚洲a片国产av一区无码 | 96国产精品久久久久aⅴ四区 | 美女裸体自慰在线观看 | 在线观看网址你懂的 | 国产最新美女精品视频网站免费观看网址大全 | 亚洲国产欧美国产综合久久 | 狠狠干天天 | 国内揄拍高清国内精品对白 | 麻豆天美传媒毛片av88 | 国产精品自在拍一区二区不卡 | 午夜免费看 | 农民人伦一区二区三区 | 欧美性猛交乱大交丰满 | 亚洲高清专区日韩精品 | 九九热精品在线视频 | 两个男人吮她的花蒂和奶水视频 | 无码福利一区二区三区 | 日日碰碰 | 亚洲乱论 | 欧美午夜性春猛交xxxx按摩师 | 99热com| 国产色婷婷五月精品综合在线 | 国产午夜在线播放 | 无码h肉男男在线观看免费 国产欧美日韩专区发布 | 在线一区国产 | 久久精品国产再热青青青 | 亚洲精品伦理 | 精品日韩欧美一区二区三区 | 天天爽一爽 | 日本少妇呻吟高潮免费看 | 无码精品一区二区三区在线 | 日韩福利视频一区 | 国产精品玖玖玖在线 | 九九热视频免费在线观看 | 麻豆精品乱码一二三区别蜜臀在线 | 亚洲一区二区三区四区五区中文 | 蕾丝av无码专区在线观看 | 毛片网站在线观看 | 男人午夜视频 | 欧美一级特黄aaa | 少妇乳大丰满在线播放 | 国产精品18禁污污网站 | 香蕉视频97 | 色综合狠狠| 七七婷婷婷婷精品国产 | 精品香蕉在线观看视频 | 五月综合色婷婷在线观看 | 国产一三四2021不卡 | 美女裸体跪姿扒开屁股无内裤 | 国产女人高潮抽搐喷水免费视频 | 97久久超碰中文字幕 | 欧美bbbb内谢| 亚洲激情视频在线观看 | 无人去码一码二码三码区 | 精品国产sm最大网站蜜芽 | 四虎一区二区成人免费影院网址 | 在线人视频观看免费 | 成人91看片 | 亚洲视频自拍 | 精品一区二区三区无码av久久 | 青青草视频| 亚洲国产精品久久一线app | 狠狠色噜噜狠狠狠狠av不卡 | 伊人手机在线视频 | 熟女肥臀白浆大屁股一区二区 | 91丨九色丨国产丨porny | 人妻妺妺窝人体色www聚色窝 | 久久五十路 | 日韩六九视频 | 一区视频在线免费观看 | 欧美一区二区三区日韩 | 92午夜少妇极品福利无码电影 | 麻豆精品久久久久久中文字幕无码 | 一区二区中文字幕在线 | 久久精品第一国产久精国产宅男66 | 色戒av| 日韩一区二区三区视频 | 在线精品国精品国产尤物 | 亚洲日韩欧美一区视频 | 中国黄色毛片视频 | 国精产品一区一区三区mba桃花 | 日本一码二码三码在线 | 日产成品片a直接观看入 | 国精产品一线二线三线av | 7777久久亚洲中文字幕 | 人妻老妇乱子伦精品无码专区 | 少妇性荡欲视频 | 日韩国产欧美一区 | 精品国产一区二区三区四 | 香蕉欧美成人精品a∨在线观看 | 国产精品色吧国产精品 | 亚洲日本中文字幕 | 国产精品午夜不卡片在线 | 欧美成人wwe在线播放 | 亚洲综合区图片小说区 | 日韩精品一卡二卡二卡四卡乱码 | 国产精品第二页 | 日韩精品91亚洲二区在线观看 | wwwwww.色| 日韩精品免费在线观看视频 | 起碰免费公开97在线视频 | 亚洲精品美女久久777777 | 福利免费观看 | 日本熟妇色熟妇在线视频播放 | 成人网在线播放 | 国产又黄又硬又湿又黄的视 | 国产欧美日韩综合精品一区二区 | 国产综合18久久久久久 | 一级大片免费观看 | 中文字幕欧美亚州视频免费 | 国产又粗又猛又黄又爽视频 | 日本少妇又色又爽又高潮 | 手机版av在线 | 丝袜美腿丝袜亚洲综合 | 国内自拍第三页 | 欧美极品在线视频 | av女优天堂在线 | 爱插综合网 | 国内精品偷拍视频 | 精品av中文字幕在线毛片 | 日韩中文字幕视频在线 | 最新免费av网站 | 午夜无毒不卡 | 久久久亚洲裙底偷窥综合 | 校园春色av| 亚洲午夜国产精品无码 | 无码人妻丰满熟妇区毛片18 | 亚洲综合久久av一区二区三区 | 97香蕉久久超级碰碰高清版 | 女人18毛片九区毛片在线 | 91伊人久久| 91手机在线观看 | 欧美日韩国产欧美 | 成人性视频网站 | 2021av在线无码最新 | 国产69精品久久久久人妻 | 91精品国产乱码麻豆白嫩 | 欧美精品亚洲精品日韩传电影 | 嫩草影院一区二区三区 | 狠狠色噜噜狠狠狠合久 | 91精品国产乱码久久久竹菊 | 国产精品人妻一码二码尿失禁 | 人人爽人人爽人人爽人人爽 | 三级免费网址 | 一级国产特黄bbbbb | 少妇精品高潮欲妇又嫩中文字幕 | 亚洲日本一本dvd高清 | 91私拍| 国产最新美女精品视频网站免费观看网址大全 | 国产欧美另类久久久精品不卡 | 亚洲精品成a人在线观看 | 天天干夜操| 成人影院yy111111在线 | 天天躁日日躁狠狠躁av麻豆男男 | 麻豆国产精品va在线观看 | 亚洲成a人v欧美综合天堂麻豆 | gogo西西人体大尺度大胆伊人 | 亚洲日本在线观看视频 | 中文字幕高清在线观看 | 少妇又粗又猛又爽又黄的视频 | 高清国产一区二区三区在线 | 亚洲综合一区二区三区四区五区 | 亚洲精品中文字幕在线 | 日韩av免费无码一区二区三区 | ktv偷拍视频一区二区 | 熟妇人妻av中文字幕老熟妇 | 亚洲熟妇少妇任你躁在线观看 | 性av网站| av专区在线观看 | 日本久久激情 | 成人性做爰片免费视频 | 精品h动漫无遮挡在线看中文 | 伊人色综合九久久天天蜜桃 | 久久亚洲熟女cc98cm | 国产精品午夜在线观看体验区 | 久久久久久久久久久91 | 特级西西人体444www高清 | 国产精品久久久久久一区二区三区 | 久久av无码αv高潮αv喷吹 | аⅴ资源新版在线天堂 | 91精品国产综合久久久久久久 | 国产一区二区毛片 | 久久无码高潮喷水免费看 | 久久久久99人妻一区二区三区 | 97日韩精品 | 91欧美激情一区二区三区成人 | 久久久无码精品亚洲日韩按摩 | 欧美日韩在大午夜爽爽影院 | 国产v亚洲∨无码天堂 | 亚洲一区 日韩精品 中文字幕 | 深爱激情站 | 最新在线精品国自产拍视频 | 欧美20p| 色婷婷丁香 | 欧美另类在线视频 | y111111国产精品久久婷婷 | 天堂网av手机版 | 国产精品一区二区羞羞答答 | 亚洲视频一区二区 | 毛片大全视频 | 亚洲免费区| 免费无码av片在线观看中文 | 2018国产在线 | 欧美精品系列 | 噜噜噜天天躁狠狠躁夜夜精品 | 伊人伊成久久人综合网 | 久草观看 | 久久99精品国产自在现线小黄鸭 | 色翁荡熄又大又硬又粗又视频 | 人人超人人超碰超国产 | 国产免费午夜福利不卡片在线 | 亚洲欧美国产国产一区二区 | aa黄色大片| 天堂网2021最新天堂手机版 | 亚洲色无码中文字幕手机在线 | 免费三级现频在线观看免费 | 亚洲精品无码av中文字幕电影网站 | 男人天堂欧美 | 欧美乱妇高清免费96欧美乱妇高清 | 91大片在线观看 | 性欧美视频一区二区三区 | 中文无码日韩欧av影视 | 久久精品亚 | 日韩少妇毛片 | 高潮毛片无遮挡高清视频播放 | 久草资源| 波多野结衣视频网站 | 最新中文字幕av专区 | 五月婷婷小说 | 久久久久久久无码高潮 | 超碰97人人让你爽 | 欧美bbbxxx | 日韩综合精品 | 喷水av| 久久精品国产99久久美女 | 精品久久久久久亚洲综合网 | av天堂亚洲区无码小次郎 | 中文字幕+乱码+中文字幕明步 | 日本一区精品视频 | 大伊香蕉精品一区视频在线 | 国产日韩欧美视频 | 97超碰免费在线观看 | 总裁各种姿势顶弄呻吟h1v1 | 中文不卡视频 | 国产在线不卡一区二区三区 | 白嫩日本少妇做爰 | 日韩www.| 五月激情综合 | 精品h动漫无遮挡在线看中文 | 亚洲欧美偷拍另类a∨ | www.日日夜夜撸 | 亚洲宅男精品一区在线观看 | 羞羞的视频网站 | 正在播放木下凛凛88av | 国产伦一区二区三区色一情 | 国产综合久久久久 | 国产成人av手机在线观看 | 内射中出无码护士在线 | 亚洲区成人 | 色性网| 亚洲欧美另类成人综合图片 | 亚洲熟妇色xxxxx亚洲 | 一性一交一口添一摸视频 | cao视频 | 久久精品片 | 亚洲黄色免费网站 | 亚洲国产精品女人久久久 | 精品无码久久久久国产手机版 | 无码孕妇孕交在线观看 | 久久亚洲国产成人影院 | 久久精品国内一区二区三区 | 男人天堂色| 亚洲区一区二区三区 | 538在线一区二区精品国产 | 91精品国产美女在线观看 | 午夜性色一区二区三区不卡视频 | 东北老女人高潮久久91 | 色中色成人导航 | 国产成人免费看 | 宅男噜噜噜66网站在线观看 | 日本xxxx肉体谢液体色液体 | 91精品国产色综合久久不卡98最新章节 | 成人午夜福利免费无码视频 | 男女激情爽爽爽免费视频 | 久久出品必属精品 | 刘玥91精选国产在线观看 | 无套内谢孕妇毛片免费看看 | 黄在线免费观看 | 国产成人免费高潮激情视频 | 四虎影院在线观看网站 | 亚洲自拍偷拍综合 | 四虎影院永久免费 | 青青青青在线 | 成人国产网站v片免费观看 欧美成人精品第一区 | 爱情岛成人18| 男人用嘴添女人私密视频 | 色欲av久久综合人妻无码 | 亚洲国产韩国欧美在线 | 国产又色又爽又高潮免费 | 欧美一区二区三区性视频 | 亚洲精品国产字幕久久麻豆 | 亚洲精品国产福利一二区 | 色月丁香| 日日拍夜夜嗷嗷叫|日日摸 中文在线字幕观看 | 国产亚洲熟妇在线视频 | 精品久久网站 | 亚洲乱码尤物193yw最新网站 | 国产精品91在线观看 | 亚洲欧洲日产国码无码av喷潮 | 九色视频国产 | 高潮av在线| 亚洲日韩av无码一区二区三区人 | 成人乱码一区二区三区四区 | 欧美日韩精品一二三区 | 欧美男人天堂网 | 青青草国产在线观看 | 日本黄色动态图 | 国产成人61精品免费看片 | 99久久精品这里只有精品 | 欧美内射深插日本少妇 | 激情综合色综合啪啪五月丁香 | 成人国产精品一区二区免费看 | 欧美成人91 | 狠狠色丁香久久婷婷综合五月 | www.xxx欧美| 激情在线视频 | 亚洲一卡久久 | 午夜香蕉成视频人网站 | 军人全身脱精光自慰 | 十八禁无遮挡99精品国产 | 丝袜性满足hd | 亚洲成a v人片在线观看 | 欧美伦费免费全部午夜最新 | 免费观看的av在线播放 | 日韩欧美国产一区二区三区在线观看 | 初尝情欲h名器av | 在线观看亚洲精品国产福利片 | 免费av观看网站 | 成人乱人伦视频在线观看 | 久操视频免费观看 | 欧美激情一二三 | 久久草在线视频免费 | 美女被抽插到哭内射视频免费 | 伊人伊色 | 日韩每日更新 | 亚洲最新网址 | 国产欧精精久久久久久久 | 狠色狠狠色狠狠狠色综合久久 | 国产精选视频 | 少妇啪啪av入口 | 一本色道久久综合狠狠躁篇怎么玩 | 国产三级一区二区三区视频 | 91高清免费看 | 国产精品99爱免费视频 | 青青青国产精品免费观看 | 五月天激情婷婷深爱五月 | 成人av无码国产在线观看 | 狠狠色婷婷丁香综合久久 | 欧美精品videosbestsex日本 | 欧美在线精彩视频免费播放 | 欧美成年视频 | 国产成人精品午夜片在线观看 | 日本太爽了受不了xxx | 黑人太粗太深了太硬受不了了 | av在线网站无码不卡的 | 18禁超污无遮挡无码网址 | 免费国产午夜高清在线视频 | 亚洲成在线观看 | 日本xxx性 | 一级片在线免费 | 蜜臀亚洲精品国产aⅴ综合第一 | 性欧美激情aa片在线播放 | 国语自产精品视频在线看 | 亚洲国产精品无卡做爰天天 | 四虎永久在线精品视频 | 亚洲精品v日韩精品 | 男女做性无遮挡免费视频 | 拍真实国产伦偷精品 | 成人超碰| 免费的黄色毛片 | 97人人模人人爽人人喊0 | 亚洲精品婷婷 | 久久露脸国产精品 | 干在线视频 | 国产精品一区久久 | 人妻av无码专区久久 | 天天做天天爱夜夜爽毛片毛片 | 九九热视频免费观看 | 国产成人av大片大片在线播放 | 爱情岛论坛亚洲永久入口口 | 狠狠色噜噜狠狠狠狠综合久 | 综合久久久| 亚洲精品无码av天堂 | 91色交视频 | 成年无码动漫av片在线尤物 | 久久久久久久久久亚洲 | 天天操夜夜夜 | 亚洲久久久久 | 日本一区高清视频 | 成人做爰www网站视频 | 国产精品久久自在自线不卡 | 国产成人一区二区无码不卡在线 | 天天狠天天透天干天天 | 午夜三级av | 北条麻妃一区二区免费播放 | 99精品视频免费热播在线观看 | 男人久久天堂 | 久久综合久久香蕉网欧美 | 国产免费脚交足视频在线观看 | 免费在线色视频 | 少妇高潮惨叫久久久久久电影 | 嫩b人妻精品一区二区三区 www国产精品内射 | 夜夜嗨av一区二区三区 | 亚洲国产成人一区二区在线 | 国产精品久久久久久久久久久久久久久久久 | 无遮挡又色又刺激的女人视频 | 亚洲伊人一区 | 国产成人啪精品 | 亚洲蜜桃av一区二区 | www.嫩草视频| av无码人妻中文字幕 | 久久午夜私人影院 | 台湾亚洲精品一区二区tv | 亚洲第一av片精品堂在线观看 | 国产区女主播在线观看 | 日韩精品视频一区二区在线观看 | 四色av网站入口 | 偷窥自拍五月天 | 天天操夜夜草 | 成年人网站视频免费 | 夜间视频在线观看 | 一本大道无码日韩精品影视_ | 超碰成人在线播放 | 天堂v视频 | 狠狠婷婷综合久久久久久妖精 | 欧美黄色免费在线观看 | 女高中生第一次破苞av | 柠檬福利第一导航在线 | 亚洲天堂av片 | 欧美猛男性猛交视频 | 国产精品毛片av在线看 | 中文字幕乱码亚洲影视 | 国产片av国语在线观看导航 | 91高清免费视频 | 日韩亚洲国产综合αv高清 看曰本女人大战黑人视频 99久久国产热无码精品免费 | 国产一区二区毛片 | 波多野结衣av一区二区全免费观看 | 精品日本免费一区二区三区 | 国产成人8x人网站视频在线观看 | 久色成人 | 亚洲aa| 国产精品色网 | 久久免费国产视频 | 伊人天天操 | 特黄 大片做受又粗又硬又大 | 免费看网站在线观 | 欧美激性欧美激情在线 | 精品国产高清自在线一区二区 | 成年人免费看视频 | 97国产精品麻豆性色aⅴ人妻波 | 无码h肉在线观看免费一区 久久精品一卡二卡 | 久久久全国免费视频 | 亚洲精品尤物av在线观看不卡 | 国产精品夜夜嗨视频免费视频 | 午夜福利片国产精品 | 亚洲综合图片区自拍区 | 国产美女流白浆 | 国产毛片毛片毛片毛片毛片 | 黄色三级a | 欧美激情一二三区 | 24小时日本在线www免费的 | 五月天天丁香婷婷在线中 | 伊人色综合网久久天天 | 国产精品久久久久久久久免费樱桃 | 日本人妖猛交xxxhd | 国产精品ⅴa有声小说 | 天堂网视频在线 | 国产精品日韩一区二区 | 黑人大战日本人妻嗷嗷叫 | 天天天天躁天天爱天天碰 | 国产成人无码a区在线 | 伊人成人动漫 | 欧美在线日韩 | 首页 综合国产 亚洲 丝袜 | 91视频免费在线观看 | 九色最新| 国产又粗又猛又大爽又黄老大爷视频 | 成人免费久久 | 超碰伊人久久大香线蕉综合 | 无码人妻精品中文字幕免费 | 玩弄放荡人妻少妇系列视频 | 国产一级黄视频 | 在教室伦流澡到高潮hnp视频 | 91白丝在线观看 | 欧美 日韩 国产 成人 在线观看 | 欧美真人性做爰一二区 | 成年女人毛片免费观看97 | 国产精品午夜无码体验区 | 国内精品写真在线观看 | 深夜福利视频免费观看 | 精品国产乱码久久久久久1区2区 | 久久精品人人做人人妻人人玩 | 正在播放老肥熟妇露脸 | 欧美激情一区二区一级黑人片 | 亚洲欧美另类视频 | 久久精品国产成人午夜福利 | 黄色aaa视频 | 亚洲区视频在线观看 | 久久96国产精品久久久 | 人妻系列无码专区免费视频 | 澳门一级黄色片 | 日韩一区免费 | 99久久精品国产免费看不卡 | 熟女人妻aⅴ一区二区三区麻豆 | 中国av一区二区三区 | 国产精品午夜一区二区三区视频 | 九九九国产视频 | 亚洲免费观看av | 男女插插动态图 | 国产美女精品视频线免费播放软件 | 久久久久女 | 亚洲欧美一区二区三区久久 | 日韩字幕在线 | 亚洲国产www| 久久国产精品国产四虎90后 | 波多野结衣亚洲一区 | 超清制服丝袜无码av福利网 | 伊人久久久久久久久久 | 欧美成人三级在线 | 蜜臀在线视频 | av在线播放一区 | 日本大尺度吃奶做爰久久久绯色 | 亚洲一区二区三区 无码 | 97综合在线| 91视频天堂 | 四虎影视在线永久免费观看 | 国产又粗又猛又大爽又黄香借 | 7777精品伊人久久久大香线蕉 | 天堂成人av | 国产精品久久久久久久久软件 | 国产成人无码精品久久久露脸 | 97无码精品综合 | 久久久久成人片免费观看 | av天天射| 亚洲一级一区 | 天堂√8在线中文 | 成人影院yy111111在线 | 午夜福利小视频400 亚洲国产一区二区精品 | 国产xxwwxxww视频| 精品欧美成人高清在线观看 | 国产精品女同一区二区久久夜 | 99综合| 国产精品水嫩水嫩 | 毛片国产精品 | 果冻传媒少妇借种av剧情在线 | 久久久久亚洲 | 在线看片免费人成视频无毒 | 五月婷婷开心中文字幕 | 91精品国产综合久久久久影院不卡 | 性69无遮挡免费视频 | 日韩精品区一区二区三vr | 一区二区三区四区在线 | 中文字幕99| 国产精品va无码二区 | 91资源总站| 麻豆国产97在线 | 欧洲 | 91免费视频网站 | 黄瓜视频在线播放 | av在线地址 | 国产你懂的| 成人免费视频在线看 | 日本黄色中文字幕 | 亚洲偷自拍另类图片二区 | 无码午夜福利视频1000集 | 精品国产乱码久久久久乱码 | 午夜精品成人一区二区视频 | 国产香蕉尹人在线视频你懂的 | 欧美三根一起进三p | 国产女女做受ⅹxx高潮 | xxxx18国产 | 四虎最新紧急更新地址 | 麻豆国产人妻欲求不满谁演的 | 91国产在线免费观看 | 狠狠色噜噜狠狠狠狠米奇7777 | 色婷亚洲| 久久精品人人 | 国产午夜福利在线机视频 | 真人床震高潮全部视频免费 | 一区二区三区三区 | 最新版天堂资源中文官网 | 日日噜噜夜夜爽 | 国产成av人片在线观看天堂无码 | 亚洲 自拍 色综合图区av | 奇米四色7777中文字幕 | 欧美日本日韩aⅴ在线视频 另类亚洲小说图片综合区 国产精品免费福利久久 | 老熟妇乱子伦牲交视频欧美 | 日本高清视频在线播放 | 成人试看120秒体验区 | 国色精品卡一卡2卡3卡4卡在线 | 国产乱色国产精品免费视频 | 国产精品原创巨作av女教师 | 一道日本中文版高清视频 | 午夜精品久久久久成人 | 欧美人与牲禽发生性 | a级免费在线观看 | 91热在线| 吃奶呻吟打开双腿做受视频 | 动漫精品中文无码卡通动漫 | 欧美jjzz| 日本不卡一区二区在线观看 | 羞羞影院午夜男女爽爽 | 伊人久久久大香线蕉综合直播 | 亚洲综合欧美综合 | 免费精品国自产拍在线观看 | 天天操夜操 | 亚洲毛片av| 自拍偷自拍亚洲精品情侣 | 天堂av官网 | 欧美顶级毛片在线播放 | 另类亚洲小说图片综合区 | 松岛枫av在线一区二区 | 午夜日韩福利 | 8mav精品成人 | 欧美一区二区福利视频 | 狠狠色噜噜狠狠狠777米奇小说 | 亚洲国产综合视频 | 国偷自产一区二视频观看 | 日韩精品一区二区av在线 | 亚洲中文字幕无码第一区 | 亚洲成亚洲乱码一二三四区软件 | 中国少妇xxxx做受视频 | 日韩第2页| 午夜精品福利一区二区蜜股av | 成年免费视频黄网站zxgk | 久久精品亚洲国产 | 老熟女重囗味hdxx69 | 日日婷婷夜日日天干 | 91蝌蚪在线 | bt天堂av | 国产午夜亚洲精品午夜鲁丝片 | 少妇厨房愉情理9仑片视频 美女胸18大禁视频网站 | 国产好大好硬好爽免费不卡 | 97超碰人人爱香蕉精品 | 久久99精品久久久久久久不卡 | 日本在线一区二区三区 | 四虎影院永久 | 大胸美女污污污www网站 | 国产精品久久久久久亚瑟影院 | 午夜性无码专区 | 最新在线精品国自产拍视频 | 国产一二三av | 夜夜夜久久久 | 最新国产久免费视频在线观看 | 在线播放中文字幕 | 亚洲 自拍 色综合图 12p | 乌克兰少妇xxxx做受 | 男人色综合| 天堂影院av| 日日夜夜狠 | 国产精品原创av片国产日韩 | 男人放进女人阳道动态图 | 手机看片国产一区 | 2023国产精品一卡2卡三卡4卡 | 欧美顶级少妇做爰hd | 国产目拍亚洲精品99久久精品 | 色窝窝色蝌蚪在线视频 | 在线超碰av| 日韩色 | 天堂久久网 | 久久久久黄色 | 亚洲欧美不卡高清在线 | 日本大胆人体视频 | 97在线观看播放 | 日本入室强伦姧bd在线观看 | 亚洲色欲色欲综合网站sw0060 | 色婷婷狠狠五月综合天色拍 | 少妇的丰满人妻hd高清 | www一区| 亚洲另类伦春色综合 | 婷婷天天 | 亚洲最新在线观看 | 中文字幕在线不卡一区二区 | 亚洲国产午夜精华无码福利 | 国产精品久久人妻互换毛片 | aa性欧美老妇人牲交免费 | 日韩福利影院 | 五月婷婷俺也去开心 | 中文无码高潮到痉挛在线视频 | 国产美女久久精品香蕉69 | 亚洲成av人无码不卡影片 | 66亚洲一卡2卡新区成片发布 | 精品亚洲a∨无码一区二区三区 | 国产成人无码av片在线观看不卡 | 色婷婷小说 | 姑娘第5集在线观看免费好剧 | 久久久成人免费视频 | 黑人30厘米少妇高潮全部进入 | 亚洲精品人成无码中文毛片 | 二男一女一级一片 | 亚洲精品无码mv在线观看 | 97久久香蕉国产线看观看 | 色一情一乱一伦一区二区三区 | 日本在线视频www鲁啊鲁 | 久久无码高潮喷水抽搐 | 久久久亚洲欧洲日产国码农村 | 日产乱码一区二区三区在线 | 久久国产精品免费专区 | 啪啪tv网站免费入口 | 2021最新国产精品网站 | 久久99免费视频 | 99热亚洲 | 日av中文字幕 | 天堂久久久久va久久久久 | 亚洲综合色88综合天堂 | 色翁荡熄又大又硬又粗又视频图片 | 国产精品推荐 | 免费裸体黄网站18禁免费 | 国产精品黑人 | 日韩在线一区二区 | 欧美精品久久久久久久多人混战 | 国产人妖乱国产精品人妖 | 奇米在线7777在线精品 | 欧美日韩中文字幕在线视频 | 免费裸体黄网站18禁免费 | 狠狠cao日日穞夜夜穞av | 色老头在线一区二区三区 | 嫩草在线视频 | 午夜精品久久久久久久96蜜桃 | 丁香五月开心婷婷激情综合 | 天堂乱码一二三区 | 久久人妻无码aⅴ毛片a片app | 伊人成年综合网 | 精品成人佐山爱一区二区 | 国产高清在线精品 | 亚洲专区在线 | 香蕉在线 亚洲 欧美 专区 | 久久99精品久久久久子伦 | 无码国内精品久久人妻 | 久久综合久久自在自线精品自 | 亚洲欧美日韩在线播放 | 国产日韩免费观看 | 午夜婷婷精品午夜无码a片影院 | www.99av.com| 国产综合色视频 | 国产香蕉尹人视频在线 | 无码人妻丰满熟妇a片护士 日韩黄色影视 | 精品欧洲av无码一区二区三区 | 色妞www精品视频二 狠狠插网 | 丁香久久婷婷 | 日韩乱码人妻无码中文字幕视频 | 国产成人啪精品视频网站午夜 | 又色又爽又大免费区欧美 | 国产成人av无码精品天堂 | 久草福利资源站 | 美女网站视频在线 | 粗大的内捧猛烈进出少妇 | 无码av天天av天天爽 | 视频一区中文字幕 | 久久一道本 | 国产精品国产免费无码专区不卡 | 亚洲乱亚洲乱妇91p丰满 | 日本丰满少妇做爰爽爽 | 无码高潮喷水在线观看 | 国产成人欧美一区二区三区 | 成人免费网站黄 | 射久久久| 北条麻妃一区二区三区在线视频 | 国产suv精品一区二区68 | 亚洲午夜视频在线观看 | 中文在线天堂资源 | 精品99视频 | 久久久久国产精品人妻照片 | 国产精品yy9299在线观看 | 一区二三区在线 | 中国 | 色视频www在线播放国产人成 | 日本中文字幕影院 | 中文字幕的 | 日日碰狠狠添天天爽 | 国产丝袜久久 | 国产色视频一区二区三区qq号 | 3d动漫精品啪啪一区二区免费 | 一区二区三区欧美在线 | 亚洲最大av无码网站最新 | 亚洲五月网 | 久久综合社区 | 免费国产在线视频 | 熟女人妻高清一区二区三区 | 国产精品无码av片在线观看播放 | 久久精品国产99国产精品 | 久久久成人综合亚洲欧洲精品 | 欧美日韩中文字幕在线播放 | 日韩在线高清 | 免费激情视频在线观看 | 日本三级视频在线 | 一区二区欧美视频 | 男女性动态激烈动全过程 | 天天澡天天摸天天添视频 | 妇女性内射冈站hdwwwooo | 236宅宅理论片免费 欧美日本一区二区视频在线观看 | 精品乱码一区二区三四区视频 | aa片在线观看视频在线播放 | 中文字幕在线观看亚洲 | 蜜桃av亚洲精品一区二区 | 永久免费的无码中文字幕 | 免费看婬乱a欧美大片 | 91中文字幕永久在线 | 亚洲精品无码鲁网午夜 | 九色91丨porny丨丝袜 | 老司机深夜福利在线观看 | 三级a三级三级三级a十八发禁止 | 在线观看视频中文字幕 | 国产偷国产偷av亚洲清高 | 国产精品天干天干有线观看 | 加勒比中文字幕无码一区 | 伊人久久大香线蕉综合狠狠 | 日韩欧美中文字幕一区 | 国产成人精品三级在线影院 | 欧洲成人在线视频 | 亚洲中文字慕日产2021 | 亚洲精品av在线 | 丁香五月激情综合国产 | 色午夜ww久久久久生女学生 | 日韩字幕在线观看 | 天天爱天天做天天大综合 | 亚洲美女又黄又爽在线观看 | www.在线视频 | 播放男人添女人下边视频 | 少妇免费视频 | 精品国产专区 | 亚洲少妇一区二区 | 亚洲精品国产成人无码区a片 | 国产免费人成在线视频网站 | 国产日韩欧美另类 | 日韩高清久久 | 3d动漫精品啪啪一区二区免费 | 波多野结衣视频一区二区 | 日本丰满熟妇毛茸茸xxx | 日本欧美www视频网站 | 狠狠狠色丁香综合婷婷久久 | 日日欧美| 91综合国产 | 一本一道久久综合狠狠老 | 欧美视频在线观看,亚洲欧 中文字幕第5页 | 91欧美精品成人综合在线观看 | 91久久人澡人人添人人爽欧美 | 亚洲欧美中文日韩在线v日本 | 亚洲不卡av一区二区三区 | 日韩av无码社区一区二区三区 | 日本三级做a全过程在线观看 | 看毛片的网址 | 国产欧美亚洲精品第二区软件 | 一本大道东京热无码av | 四虎网址最新 | 日本不卡不码高清视频 | 精品一区二区三区无码免费直播 | 欧美一夜爽爽爽爽爽爽 | 在线免费a视频 | 免费看成人毛片 | 18涩涩午夜精品.www | 日韩在线观看精品 | 无码日本精品一区二区片 | 国产日韩在线亚洲色视频 | 麻豆成人久久精品综合网址 | 亚洲成在人网站无码天堂 | 亚洲精品久久国产精品 | 久久丝袜脚交足免费播放导航 | 在线天堂最新版资源 | 少妇午夜福利一区二区 | 免费黄色一级片 | 日日鲁夜夜如影院 | 久久婷婷五月综合色奶水99啪 | 激情航班h版在线观看 | 成人av三级| 天天爽天天爽天天爽 | 国产一区二区在线影院 | 日韩国产亚洲一区二区三区 | 欧美做受又硬又粗又大视频 | 在线观看无码av免费不卡软件 | 国产 高潮 抽搐 正在播放 | 国产精品成人网址在线观看 | 日韩乱码人妻无码中文视频 | 人妻精品无码一区二区三区 | 亚洲国产精品久久久久爰色欲 | 国模二区| 国产午夜麻豆影院在线观看 | 97久久久亚洲综合久久 | 久久婷婷五月综合色和 | 人人妻人人爽人人爽 | 无码中文人妻在线一区二区三区 | 亚洲成人精品一区二区三区 | 欧美性xxxxx极品娇小 | 久久精品国产免费观看三人同眠 | 极品粉嫩鲍鱼视频在线观看 | 操人免费视频 | 国产精品成人午夜电影 | 中文字幕欧美人妻精品一区 | 亚洲日韩av无码不卡一区二区三区 | 一级黄色片中国 | 美女精品久久久 | 亚洲色婷六月丁香在线视频 | 久久精品国产一区二区电影 | 人妻在卧室被老板疯狂进入 | 国产小视频网址 | 欧美乱妇狂野欧美在线视频 | 又大又爽又黄无码a片 | 少妇人妻偷人精品无码视频新浪 | 久久久九九精品国产毛片a片 | 手机字幕在线中文乱码怎么解决 | 成熟少妇一区二区三区 | 韩国一级一片高清免费观看 | 国产在线色 | 免费国产成人午夜福利电影 | 日韩在线 | 中文 | 欧美日韩亚洲在线 | 久久视频在线播放 | 色偷偷激情日本亚洲一区二区 | 一区二区三区视频免费 | 手机在线不卡一区二区 | 久久久九九 | 女人高潮抽搐潮喷小视频 | 又爽又黄又高潮视频在线观看网站 | 精产国品一二三产区m553麻豆 | 亚洲欧美精品在线 | 国产精品女教师久久二区二区 | 亚洲色视频 | 99免费在线观看 | 亚州三级 | 欧美鲁 | 99久久亚洲精品无码毛片 | 一区二区三区日韩在线观看 | 7m视频国产精品 | 色欲来吧来吧天天综合网 | 国产欧美精品一区 | 国产青青草 | 中国熟妇牲交视频免费 | 一级做a爱高潮免费视频 | 欧美手机在线视频 | 欧美日韩一区二区在线观看 | 亚洲免费专区 | 久久亚洲综合国产精品99麻豆的功能介绍 | 久久香综合精品久久伊人 | 2020无码专区人妻系列日韩 | 五月天av网站 | 日韩免费网址 | 春药高潮抽搐流白浆在线观看 | 免费无码高h视频在线观看 性生活一区 | 国产美女无遮挡免费软件 | 2020精品自拍视频曝光 | 徐锦江版西厢记在线 | 久久久高潮 | 亚洲欧洲日产韩国在线看片 | 丰满少妇被猛烈进av毛片 | 99精品国产兔费观看久久99 | 亚洲大胆视频 | 久操婷婷 | 国产福利一区二区三区高清 | 亚欧日韩 | 狠狠色丁香五月综合婷婷 | 99日在线视频 | 伊人色综合久久天天 | 亚洲国产中文字幕在线 | 欧美成人免费全部观看 | 国产一区二区在线免费观看 | 国产精品久久人妻互换 | 久久美女av| 国产亚洲精品久久久久久武则天 | 嫩草影院国产 | avtt加勒比 | 亚洲一区二区不卡视频 | 午夜精品久久久久久久久日韩欧美 | 天天综合网7799精品视频 | 欧美亚洲一区二区三区 | 亚洲 欧美 天堂 综合 | 一本色道久久综合亚洲精品不卡 | 日韩激情在线 | 日本高清在线播放 | 爆乳熟妇一区二区三区霸乳 | 欧美精品久久久久久久多人混战 | 国产美女福利在线观看 | 国产真人性做爰久久网站 | a级高清免费毛片av 青青青国产在线视频在线观看 | 免费啪视频在线观看 | 亚洲一区二区三区中文字幕 | 肉欲性毛片交国产 | 欧美精品国产综合久久 | 综合久久给合久久狠狠狠97色 | 99资源在线| 亚洲精品国产精品制服丝袜 | 国产久青青青青在线观看 | 国产精品成人品 | 女知青荒淫性艳史小说 | 亚洲一区二区三区国产 | 亚洲v国产v天堂a无码二区 | 一区二区免费视频中文乱码 | 尤物yw午夜国产精品视频 | 久热中文在线 | 一本久久伊人热热精品中文字幕 | 97久久精品人人澡人人爽古装 | 人人网av | 国产激情内射在线影院 | 九九99无码精品视频在线观看 | 国产自产在线视频一区 | 蜜臀av色欲a片无码精品一区 | 亚洲ⅴ国产v天堂a无码二区 | 精品国产乱码久久久久久浪潮 | 亚洲国产一二三区 | 中文无码天天av天天爽 | 97中文字幕在线 | 黑巨人与欧美精品一区 | 四虎永久免费地址入口 | 日韩aaa久久蜜桃av | 免费在线一区二区三区 | 又粗又硬整进去好爽视频 | 国产91精品一区二区麻豆亚洲 | 狠狠摸狠狠澡 | 全黄性性激高免费视频 | 午夜噜噜噜 | 卡一卡二卡三免费视频 | 亚洲人成网址 | 老司机精品导航 | 黑人粗长大战亚洲女 | 在线观看日韩中文字幕 | 国产亚洲福利在线视频 | 人妻av中文字幕一区二区三区 | 人人人草| 国产人免费人成免费视频喷水 | 国产精品区一区二区三含羞草 | 国产亚洲福利 | 亚洲韩国精品无码一区二区三区 | 玖玖在线资源 | 欧洲成人在线视频 | 久久国产精品99久久久久久口爆 | 国产成人精品av大片 | 好爽…又高潮了毛片免费看 | 疯狂做受xxxx高潮视频免费 | 欧洲亚洲1卡二卡三卡2021 | 伦理喷奶水xxxx| 乱码精品一区二区三区 | 人妻无码精品久久亚瑟影视 | 1024香蕉| 最近中文字幕mv在线资源 | 久久嫩草影院免费看 | 久久极品视频 | 欧美性受xxxx白人性爽 | 精品久久久久久亚洲 | 亚洲五月色丁香婷婷婷 | 丰满大乳少妇毛片视频 | 国产曰又深又爽免费视频 | 一本久道视频无线视频 | 久久久视屏 | 91精品久久天干天天天按摩 | 国产又粗又硬又长又爽 | 国产拍拍拍 | 亚洲系列在线观看 | 国产性猛交普通话对白 | vr成人片在线播放网站 | 欧美 中文字幕 | av高清不卡 | 在线亚洲成人 | 午夜福到在线a国产4 视频 | 99蜜桃在线观看免费视频网站 | 中文字幕人妻偷伦在线视频 | 粉嫩av一区二区三区免费观看喜好 | 狠狠色噜噜狠狠狠狠7777米奇 | 午夜福利不卡片在线机免费视频 | 亚洲精品无码久久久久牙蜜区 | 国产精品无码久久久久成人影院 | 成人黄色激情视频 | 久久人妻内射无码一区三区 | 亚洲欧洲无卡二区视頻 | 91色乱码一区二区三区 | 欧美激情久久久久久久 | 国产一区二区不卡老阿姨 | 一本之道高清无码视频 | 欧洲一区在线 | 国产一级性生活 | 欧美日韩在线中文字幕 | 国产精品久久久久影院嫩草 | 亚洲第3页 | 一二三四日本高清社区5 | 日韩av中出 | 一区二区免费高清观看国产丝瓜 | 伊人超碰在线 | 久久久视频2019午夜福利 | 久久精品在线视频 | 欧美在线综合 | 精品久久久久久久无码 | 人人妻人人澡人人爽曰本 | 国产成人精品热玖玖玖 | 亚洲视频黄色 | 亚洲视频中文字幕 | 日本在线看片免费人成视频 | 色综亚洲国产vv在线观看 | 激情婷婷网 | 国产又粗又硬又大 | 九色视频在线播放 | 天天躁狠狠躁狠狠躁性色av | 欧美色二区 | 人人91| 丁香啪啪综合成人亚洲 | 国产精品成人午夜电影 | 少妇毛片一区二区三区免费视频 | 激情射精爽到偷偷c视频无码 | 青青草视频免费播放 | 亚洲国产精品尤物yw在线观看 | 亚州国产 | 影音先锋人妻啪啪av资源网站 | 九九热视频在线观看 | 国产午夜鲁丝片av无码免费 | 手机在线视频你懂的 | 日夜夜操 | 正在播放国产大学生情侣 | 亚洲 欧美 日本 国产 高清 | 国产人成视频在线观看 | 高潮久久久久久久久 | 亚洲va在线va天堂xxxx中文 | 婷婷综合视频 | 欧美成人天天综合在线 | 精品国产av一二三四区 | 中文字幕精品一区二区精品 | 乱人伦中文字幕成人网站在线 | 欧美首页 | 狠狠色噜噜狠狠狠狠777米奇 | 日韩中文字幕第一页 | 精品无码午夜福利电影片 | 四虎久久影院 | 久久久精品456亚洲影院 | 天天干天天舔天天操 | 日韩av综合网 | 女人18毛片a级毛片 在线观看老湿视频福利 | 日韩黄网 | 好男人在线社区www在线播放 | 乱色国内精品视频在线 | 女人高潮抽搐潮喷视频开腿 | 亚洲精品揄拍自拍首页一 | 亚洲 精品 主播 自拍 | 欧美日韩免费 | 亚洲欧美婷婷六月色综合 | 中文字幕乱码亚洲无线码小说 | 亚洲成人免费在线播放 | 青青青国产精品国产精品美女 | 天天躁日日躁很很很躁 | 久热中文字幕无码视频 | 欧美熟妇毛茸茸 | 天天躁狠狠躁 | 一卡二卡3卡4卡视频免费播放 | 色婷婷狠狠五月综合天色拍 | 人人超人人超碰超国产97超碰 | 免费不卡av | 爱情岛论坛网亚洲品质 | 激情综合网五月婷婷 | 国产在线无码一区二区三区视频 | www.超碰在线.com | 国产69久久精品成人看 | 日韩不卡在线播放 | 特级黄色毛片视频片子 | 手机看片精品国产福利 | 久久精品国产只有精品96 | 亚洲中文无码mv | www视频在线观看 | 日韩av手机在线免费观看 | 国产精品久久久久久亚洲影视内衣 | 操人免费视频 | 五月花成人网 | 精品一品国产午夜福利视频 | 国产午夜性春猛交ⅹxxx | 国产一区二区三区四区成男人 | 亚洲欧美中文日韩v日本 | 亚洲网址在线 | 国产在视频线在精品视频2020 | 亚欧激情乱码久久久久久久久 | 91羞羞网站| 色综合久久无码中文字幕 | 欧美综合自拍亚洲综合区 | 亚洲精品国精品久久99热 | 成人艳情一二三区 | 男人的天堂网在线 | 少妇又色又紧又爽又刺激视频 | 夜夜躁很很躁日日躁2020铜川 | 中文字幕9| 国产一级在线观看 | 国产小视频网址 | 久久亚洲国产精品123区 | 午夜免费啪视频在线观看区 | 欧美人与动欧交视频 | 人妻丝袜无码专区视频网站 | 巨胸喷奶水视频www 色综合天天综合网国产 | 日韩精品中文字幕在线 | 国产人妻久久精品二区三区特黄 | 狠狠综合久久 | 又大又粗又爽的少妇免费视频 | 亚洲精品久久久久中文字幕欢迎你 | 少妇人妻陈艳和黑人教练 | 欧美自拍三级 | 精品啪啪| 国产又粗又硬又猛的免费视频 | 成人动漫在线观看 | 好爽…又高潮了毛片免费看 | 538国产精品视频一区二区 | 日本a级片一区二区 | 国产一级片免费观看 | 日日噜噜噜夜夜爽爽狠狠视频 | 久久婷婷精品 | 国产精品亚洲色图 | 夜夜高潮夜夜爽高清完整版1 | 国产精品 欧美 亚洲 制服 | 果冻传媒少妇借种av剧情在线 | 性猛交xxxx乱大交中国 | 超清无码av最大网站 | 亚洲精品丝袜日韩 | 国产精品视频一区二区噜噜 | 国产精品福利视频一区 | 99久33精品字幕 | 中文一区二区 | 在线男人天堂 | 在线看片免费人成视频在线影院 | 欧美日穴视频 | 精东粉嫩av免费一区二区三区 | 啪啪网站视频 | 亚洲阿v天堂网2019无码 | 91亚洲精品久久久蜜桃借种 | 99久9在线视频 | 传媒 | 国产不卡一 | 一二三四视频社区3在线高清 | 在线观看黄色免费网站 | 日韩一区二区在线看 | 精品国产天堂综合一区在线 | 国产系列在线观看 | 亚洲综合无码明星蕉在线视频 | 成人含羞草tv免费入口 | 少妇性xxxxxxxxx色野 | 校园春色男人天堂 | 日日射av| 夜夜骑av| 高清日韩欧美 | 夜夜骚av | 成人午夜福利免费无码视频 | 噼里啪啦动漫高清在线观看 | 亚洲精品国产肉丝袜久久 | 天天噜噜揉揉狠狠夜夜 | 99re在线精品 | 国模少妇无码一区二区三区 | 成人精品一区日本无码网 | 插我舔内射18免费视频 | 免费黄色国产视频 | 日本午夜免费啪视频在线 | 中文字幕2页| 欧美 日韩 国产 激情 | 蜜桃av一区二区三区www | 亚洲人成无码网站在线观看 | 国产做a爱免费视频在线观看 | 女人喷水高潮时的视频网站 | 欧美一级黑人aaaaaaa做受 | 亚洲欧美一区二区三区视频 | 国产精品爱啪在线播放 | 免费无码又爽又刺激高潮的漫画 | 91午夜在线观看 | 欧美做爰孕妇群xxx 四虎黄色影库 | 在线精品亚洲观看不卡欧 | 91风间由美一区二区三区四区 | 久久夜色撩人精品国产av | 99久久久精品免费观看国产 | 欧美日韩在线观看视频 | 国产一二三视频 | 日韩在线视频免费 | 日本精品视频在线 | 天天躁日日躁狠狠躁av | 欧美乱妇高清无乱码一级特黄 | 男人用嘴添女人下身免费视频 | 国产二区在线看 | 别揉我奶头~嗯~啊~一区二区三区 | 欧日韩不卡在线视频 | av在线免费观看不卡 | 无尽夜久久久久久久久久 | 男人的天堂国产 | 中文字幕精品在线播放 | 国产乱码卡一卡2卡三卡四 另类视频在线观看+1080p | 久久不见久久见完整版 | 国产午夜无码福利在线看网站 | 亚洲啪啪综合av一区 | 日韩精品无码视频一区二区蜜桃 | 99久久国产露脸精品国产麻豆 | 成人男女做爰免费视频网老司机 | 色欧美亚洲 | 欧美一区二区三区四区在线 | 国产美女亚洲精品久久久毛片小说 | 女女综合网 | 国产免码va在线观看免费 | 四虎国产精品永久在线观看 | 老男人久久青草av高清 | 免费成人深夜夜行网站视频 | 国产一区二区三区 韩国女主播 | 午夜欧美艳情视频免费看 | 欧美成人免费视频一区二区 | 天堂网www最新版官网 | 午夜黄色一级片 | 狠狠躁三区二区久久天天 | 丁香五月缴情在线 | 久久99青青精品免费观看 | 女知青荒淫性艳史小说 | 一区二区不卡视频在线观看 | 99久久免费看少妇高潮a片 | 亚洲综合一区国产精品 | 99久久精品精品6精品精品 | 国产欧美综合一区 | 舌头伸进去搅动好爽视频 | 国产人妻精品午夜福利免费 | 亚洲精品久久一区二区三区 | 亚洲天堂日韩在线 | 亚洲男女天堂 | 久久久99精品 | 亚洲欧美字幕 | 性高潮久久久久久久 | 国产漂亮白嫩美女在线观看 | 免费人成在线观看视频高潮 | 国产乱码一区二区三区在线观看 | 孕妇做爰xxxx呻吟 | 日本少妇作爱视频 | 少妇av射精精品蜜桃专区 | 久久五月丁香激情综合 | 欧美视频a| 中文字幕一区二区三区乱码图片 | 久久国产色av免费观看 | 亚洲色婷婷婷婷五月基地 | 九热在线视频 | 国产麻豆天美果冻无码视频 | 亚洲色图视频在线 | 麻豆久久久9性大片 | 日韩久久久 | 人妻聚色窝窝人体www一区 | aaaa大片少妇高潮免费看 | 日产精品卡2卡三卡乱码网站 | 国产成人三级在线视频网站观看 | 91导航在线 | 国产av在线www污污污十八禁 | 粗暴蹂躏av一区二区 | 正在播放国产剧情亂倫 | 97福利网 | 在线一区二区三区在线一区 | 无人区乱码一区二区三区 | 成人作爱视频 | 最近日本免费观看高清视频 | av不卡在线观看 | 色综合天天色综合久久网 | 亚洲一码二码三码精华液 | 美女自卫慰黄网站 | 欧美国产日韩a欧美在线视频 | 一本一本久久a久久精品综合 | 人妻少妇精品中文字幕av | 国产精品96久久久久久又黄又硬 | 国产精品久久久久成人 | 亚洲好骚综合 | 失禁潮痉挛潮喷av在线无码 | 日本va欧美va精品发布 | 亚洲精品456在线播放第一页 | 第一导航福利 | 伊伊色 | 久久免费福利视频 | 国产精品无码永久免费不卡 | 狠狠躁夜夜躁人人爽天天天天 | 国产欧美一区二区三区四区五区 | 激情五月婷婷在线 | 四虎在线影院 | 五月丁香久久综合网站 | 一级黄色片一 | 激情视频免费在线观看 | 视频一区欧美 | 三上悠亚网站在线观看一区二区 | 亚 洲 成 人 网站在线观看 | 色噜噜噜亚洲男人的天堂 | 无码中文字幕免费一区二区三区 | 中文字幕在线字幕中文 | 无码日韩精品一区二区三区免费 | 五月婷在线视频 | 日韩第三页| 日韩高清在线 | 日本熟妇色一本在线视频 | 国产在线资源站 | 婷婷丁香狼人久久大香线蕉 | 最近免费中文字幕大全高清10 | 中文字幕天堂中文 | 欧美亚洲日韩国产人成在线播放 | 2021天天躁夜夜看 | 天天射射综合 | 天天操操操操 | 国产亚洲成av人片在线观黄桃 | 国产对白叫床清晰在线播放 | 久久国产精品99精国产 | 在线观看片免费人成视频无码 | 99热精品在线播放 | 亚洲欲色欲色xxxxx在线观看 | 亚洲精品国产精品国自产观看浪潮 | 人妻无码中文字幕免费视频蜜桃 | 九九99久久精品综合 | 久久精品超碰 | 亚洲色婷婷一区二区三区 | 欧美刺激脚交video | 午夜电影院理伦片8888 | 中文日韩视频 | 亚洲一区观看 | 国产揄拍国产精品人妻蜜 | 亚洲dvd| 侵犯人妻女教师中文字幕 | 日韩国产免费 | 欧美区一区二区 | 91色网址| 成年人午夜网站 | 精品国产成人av在线免 | 亚洲熟女乱综合一区二区在线 | 中文字幕永久免费视频 | 在线中文字幕一区二区 | 欧美aa在线观看 | 天天操亚洲 | 91制服丝袜 | 天天天做夜夜夜做无码 | 国产av一区最新精品 | 一区二区三区小视频 | 艹男人的日日夜夜 | 欧美亚洲国产精品久久 | 伊人蕉久 | 在线看免费无码av天堂 | 日韩专区欧美 | 精品国产片一区二区三区 | 玩弄中年熟妇正在播放 | 丰满少妇av无码区 | 污污网站18禁在线永久免费观看 | 欧美一区二区三区免费在线观看 | 国产欧美熟妇另类久久久 | 国产成人av无码片在线观看 | 波多野结衣激情 | 日韩九九九 | 国产亚洲成av人片在线观看导航 | 国产精品制服丝袜无码 | 狠狠干婷婷 | 亚洲国产av一区二区三区丶 | 水蜜桃无码视频在线观看 | 久久99精品久久久久婷婷 | 亚洲午夜av久久久精品影院 | 久久超碰极品视觉盛宴 | 久久久久久午夜成人影院 | 无码a∨高潮抽搐流白浆 | 日本男女网站 | 免费看污又色又爽又黄的小说男男 | 精品人妻无码专区中文字幕 | 久操视频在线观看免费 | 亚洲成av人片在线观看无下载 | 俄罗斯少妇性xxxx另类 | 亚洲精品九九 | 久久久网站 | 亚洲资源网站 | 神马午夜嘿嘿嘿 | 无码av波多野结衣 | 国产精品第12页 | 深夜国产一区二区三区在线看 | 欧美狂躁少妇xxx | 日韩毛片在线视频 | 老司机亚洲精品影院 | 欧美午夜成人片在线观看 | 少妇把腿扒开让我舔18 | 欧美jizz40性欧美 | 97超碰资源站 | 在线免费黄色 | 人妻洗澡被强公日日澡 | 蜜臀av999无码精品国产专区 | 色网站免费在线观看 | 久久国产经典 | 国产综合免费视频 | 激情免费网站 | 欧美一级视频播放 | 中文乱码在线中文字幕中文乱码 | 国产毛片久久久 | 国产成人欧美日本在线观看 | 欧美午夜激情在线 | 国产初高中生视频在线观看 | 夜夜夜爽| 国产精品人人做人人爽蜜臀 | 好男人在线社区www资源 | 天堂а√在线中文在线 | 黄色免费片 | 一级大片免费观看 | 制服丝袜人妻有码无码中文字幕 | 国产成人精品无缓存在线播放 | 男女干b视频 | 亚洲欧美国产精品专区久久 | 日韩不卡视频在线观看 | 亚洲欧洲日产韩国无码 | 黄色小视频在线 | 99re免费视频国产在线播放 | 天天干夜夜撸 | 久久亚洲一区二区三区四区 | 欧美一区二区三区久久 | 真多人做人爱视频高清免费 | 中文毛片 | 亚洲国产色婷婷 | 亚洲欧美在线播放 | 大杳蕉狼人伊人 | 亚洲逼 | 国产无av码在线观看 | 狠狠色综合网站久久久久久久高清 | 啪啪免费网站 | 2021在线精品自偷自拍无码 | 中文字幕亚洲精品久久女人 | 久久久久久久无码高潮 | 亚洲一区欧美在线 | 野狼av午夜福利在线 | 欧美亚洲国产精品久久 | 国产suv精二区九色 成人午夜视频网站 | 嫩草影院一区 | 久久www免费人成_看片老司机 | 91视频免费网站 | 日日摸夜夜添无码无码av | 少妇一级淫片免费放香蕉 | 一级免费在线视频 | 超碰少妇| а√天堂资源8在线官网在线 | 精品成人在线视频 | 久久久www免费人成精品 | 日本边添边摸边做边爱喷水 | 亚洲ⅴ国产v天堂a无码二区 | 亚洲中文无码线在线观看 | 成人午夜精品久久久久久久蜜臀 | 国产午夜亚洲精品国产成人 | 四虎亚洲国产成人久久精品 | 青娱国产盛宴极品免费 | 成人免费无码大片a毛片户外 | 91久久国产综合久久91 | 久久欧美国产伦子伦精品 | 成人欧美日韩一区二区三区 | 在线a网 | 草草久久97超级碰碰碰 | 国产视频一区在线观看 | 青草视频免费 | 91精品福利视频 | 亚洲高潮呻吟xoxo | 国产精品久久国产精品99盘 | 无遮挡午夜男女xx00动态 | 国产传媒18精品免费1区 | 极品国产主播粉嫩在线 | 色一情一乱一伦一区二区三欧美 | www.久久爱.com狼人 | 日本高清免费视频 | 久视频精品线在线观看 | 一级女人18片毛片蜜桃av | 99久久国产综合精品女图图等你 | 中文字幕 - 色网 | 亚洲美女久久 | 免费人成网站在线观看欧美 | 人人妻人人添人人爽日韩欧美 | 亚洲玉足av久久影视 | 99久久精品国产毛片 | 人妻夜夜爽天天爽一区 | 久久天天躁狠狠躁夜夜2019 | 亚洲 欧美 动漫 少妇 自拍 | 永久免费精品影视网站 | 国产亚洲成av人片在线观黄桃 | 亚洲国产成人无码精品 | 色哟哟—国产精品 | 亚洲欧美日韩综合在线 | 亚洲码国产日韩欧美高潮在线播放 | 日韩av片网站 | 中文字幕在线看片 | 亚洲视频播放 | 色综合天天操 | 99久久99久久免费精品蜜臀 | 任你躁国产自任一区二区三区 | 欧美大片91 | 精品国产精品网麻豆系列 | 亚洲日韩欧美内射姐弟 | 男女性高爱潮是免费国产 | 东北毛片 | 国产成人精品视频ⅴa片软件竹菊 | 人妻少妇av中文字幕乱码 | 亚洲国产精品高清久久久 | 亚洲精品久久一区二区三区四区 | 亚洲精品乱码一区二区三区 | 亚洲综合色88综合天堂 | 国产不卡免费视频 | 久久亚洲精品无码观看不 | 天天干天天操天天爱 | 国产女主播白浆在线看 | 青青国产在线观看 | 国产波霸爆乳一区二区 | 欧美一区二区在线看 | 国产精品香蕉在线的人 | 无翼乌18禁全肉肉无遮挡彩色 | 国精品无码一区二区三区在线a片 | 亚洲色婷婷综合开心网 | 午夜精品福利在线 | 一区国产精品 | 久久精品国产99国产精品 | 国产专区第一页 | 欧美在线观看19 | 亚洲欧洲久久av | 日本特黄特刺激一级猛片 | 久久综合伊人77777麻豆 | 日韩肉感妇bbwbbwbbw | 97国内揄拍国内精品对白 | 国产精品综合久久久 | 亚洲美女在线视频 | 香蕉视频久久久 | 性夜影院爽黄a爽在线看 | 久久午夜剧场 | 国产成人精品无码专区 | 国产精品男人的天堂 | 久久综合色一综合色88欧美 | 四虎成人精品永久在线视频 | 国产亚洲成av人片在线观看下载 | 黄色在线小视频 | 日韩在线播放中文字幕 | 久久精品国产曰本波多野结衣 | 99视频一区二区 | 国产小视频精品 | 女人被躁到高潮免费视频软件 | 亚洲中文字幕高清有码在线 | 亚洲高清无在码在线电影不卡 | 日本不卡中文 | 97碰碰碰人妻无码视频 | 亚洲韩国精品无码一区二区三区 | 欧美成人福利 | 自拍三级视频 | 蜜桃成人av | 亚洲高清色| 亚洲天堂男人天堂 | 一色综合| 日本麻豆一区二区三区视频 | 伊人久久大香线蕉综合bd高清 | 国产做无码视频在线观看浪潮 | 天天天干天天天操 | 日韩视频在线观看 | 人人玩人人添人人澡超碰偷拍 | 久草资源福利站 | 巨胸喷奶水视频www免费网站 | 免费在线观看中文字幕 | 国产乱妇乱子在线播放视频 | 天海翼一区二区三区高清在线观看 | 亚洲欧洲在线观看视频 | 国产理论剧情大片在线播放 | 日韩精品视频在线观看视频 | 亚洲爆乳无码专区www | 黄网免费在线观看 | 欧美成人a猛片 | 中文在线a√在线8 | 久久天天躁狠狠躁夜夜av浪潮 | 亚洲 欧美 日韩 在线 | 男人的天堂国产 | 天天摸夜夜添久久精品 | 熟妇人妻一区二区三区四区 | 日本的黄色一级片 | 亚洲精品午夜一区二区电影院 | 国产精品日产欧美久久久久 | 国产精品久久久久久欧美 | 中文av岛国无码免费播放 | 91精品久久久久久久久青青 | 欧美另类tv | 欧美天堂视频 | 国产精品6999成人免费视频 | 天天做天天爱天天综合色 | 国产中文一区二区 | 天堂中文在线8最新版地址 本道久久综合无码中文字幕 | 日韩美女做爰高潮免费 | 亚洲免费观看av | 狠狠做五月深爱婷婷伊人 | 精品国产一区二区三区不卡在线 | 美女爱爱免费视频 | 性欧美激情 | 亚洲色偷偷av男人的天堂 | 久久综合av色老头免费观看 | 啪啪后入内射日韩 | 狠狠躁三区二区久久天天 | 女邻居的大乳奶水小说 | 双性娇软美人诱受h1v1 | xxx综合网| 国产精品 精品国内自产拍 伊人影院久久 | 猫咪av成人永久网站在线观看 | seyoyowww色哟哟 | 国产高潮流白浆喷水视频 | 久久国产36精品色熟妇 | 日本一区二区三区免费高清 | 新婚少妇无套内谢国语播放 | 亚洲经典av | 亚洲精品一区二区三区中文字幕 | 亚洲欧洲视频 | 欧美城天堂网址 | 国产一区二区三区高清 | 国产 精品 自在 线 女女互磨互喷水高潮les呻吟 | 一级做a视频在线观看 | 亚洲一区欧洲一区 | 精品亚洲天堂 | 精品丝袜国产自在线拍av | 亚洲激情欧美激情 | 日亚韩在线无码一区二区三区 | 亚洲日本中文字幕天天更新 | 日韩精品内射视频免费观看 | 强奷乱码欧妇女中文字幕熟女 | 成人嫩草研究院久久久精品 | 欧美在线brazzers免费视频 | 伊人久久大香线蕉av网 | 欧美 日本 国产 在线a∨观看 | 草草影院av | 国产叼嘿视频在线观看 | www插插插无码视频网站 | 丰满少妇叫我吸她大乳 | 男人天堂色男人 | 欧美午夜特黄aaaaaa片 | 老司机午夜免费精品视频 | 天码人妻一区二区三区 | 樱花草涩涩www在线播放 | 成·人免费午夜视频 | 另类亚洲小说图片综合区 | 日韩人妻无码系列专区 | 一区二区在线不卡 | 欧美一区二区在线视频观看 | 日本少妇翘臀啪啪无遮挡软件 | 岛国精品一区免费视频在线观看 | 亚洲伊人影院 | 免费黄色在线网址 | 久久狠狠高潮亚洲精品 | 无码一区二区三区av免费蜜桃 | 免费久久一级欧美特大黄 | 尤物亚洲国产亚综合在线区 | 无遮挡十八禁污污污网站 | 2019日韩中文字幕mv | 又色又爽又黄的视频女女 | 少妇裸体性猛交视频 | 色姑娘综合网 | 综合精品久久久 | 九九在线精品视频 | 欧美另类精品xxxx人妖 | 欧美高清一级 | а√最新版在线天堂 | 特级av毛片免费观看 | 日本丰满大乳人妻无码苍井空 | 欧美牲交a欧美牲交aⅴ图片 | 思热99re视热频这里只精品 | 黄色成人在线 | 国产成人无码av在线播放无广告 | 97视频网址 | 曰批免费视频播放免费直播 | 亚洲精品tv久久久久久久久 | 国产白丝jk捆绑束缚调教视频 | 亚洲hh| 最近2019中文字幕大全第二页 | 91免费毛片| 医院人妻闷声隔着帘子被中出 | 激情综合婷婷丁香五月蜜桃 | 日本在线a一区视频 | 制服丝袜在线第一页 | 人妻换人妻aa视频 | 岛国av在线不卡 | 亚裔大战黑人老外av | 久久国产劲暴∨内射新川 | 亚洲第一页在线观看 | 久久99久国产精品黄毛片入口 | 一个人看的免费视频www中文字幕 | 欧美特级黄色大片 | 免费大片av手机看片不卡 | 亚洲一区第一页 | 国产一区二区日本欧美精品久久久 | 成人综合伊人五月婷久久 | 夜夜狂射影院欧美极品 | 高清不卡一区二区三区 | 日韩精品国产精品 | 日本无遮羞教调屁股视频网站 | 国产亚洲精品久久久久久移动网络 | 亚洲日本高清在线aⅴ | 国产片a国产片免费看视频 天天操天天插 | 综合国产精品 | 91区视频| 免费无码黄动漫十八禁 | 国产日产精品久久快鸭的功能介绍 | 色一情一乱一伦 | 一级国产免费 | 激情综合激情五月 | 91精品国产丝袜白色高跟鞋 分类 | 99国产在线观看 | 一区二区在线观看免费视频 | 欧美野外疯狂做受xxxx高潮 | 国产精品久久久久精女同 | 久久伊人五月丁香狠狠色 | 麻豆视频一区二区 | 日韩美女国产精品 | 最新日韩在线 | 欧美黑人粗大xxxxbbbb | 亚洲精品国产精品乱码视色 | 亚洲精品国产精品乱码不卡√香蕉 | 国产精品亚洲色图 | 国产成人精品无码免费看 | 综合狠狠 | 欧美变态tickling挠脚心 | 久久国产精品免费一区下载 | 国产猛男猛女超爽免费视频 | 色综合中文字幕 | 伊大人久久香线焦宗合一75大 | 免费精品国产一区二区三区 | 精品区一区二 | 狠狠色成人综合 | 视频1区2区3区 | 日韩精品成人一区二区三区 | 91视频 - 114av | 日本高清视频wwww色 | 色欲色香天天天综合无码www | 国产精品69午夜妇大片 | 亚洲人成电影在线播放 | 久久在线免费观看视频 | 影音先锋波多野结衣 | 国产精品自在线拍国产手青青机版 | 国产69精品久久久久乱码 | 亚洲精品高清视频 | av观看网 | 久久综合婷婷丁香五月中文字幕 | 男女性爽大片在线观看 | 99热这里只 | 人妻少妇伦在线无码专区视频 | 男女拍拍拍网站 | 国内精品久久久久久久影院 | 国产成人片无码视频 | 六月婷婷综合 | av中文字幕一区人妻 | 国产精品妇女一二三区 | 国产成人免费无码av在线播放 | 欧美日韩亚洲国产 | 日韩精品久久久久影视的特点 | 日韩欧美中文在线 | 亚洲狠狠婷婷久久久四季av | 538在线精品视频 | 成人做受视频试看60秒 | 少妇被又大又粗猛烈进出视频 | 香蕉视频在线播放 | 日韩一区二区三区视频 | 欧美69wwwcom| 国产精品一区二区人人爽79欧美 | 亚洲欧美日韩国产成人精品影院 | 绯色av蜜臀vs少妇 | 久久亚洲精品成人无码网站 | 国内精品免费久久久久电影院 | 国产精品美女久久久久久2021 | 97在线免费视频观看 | 网友自拍av | 人成午夜视频 | 中字无码av在线电影 | 精品国品一二三产品区别在线观看 | 亚洲午夜福利在线视频 | 91黑丝高跟 | 精品第一页| 国产男女猛烈无遮挡免费视频网站 | 国产偷国产偷亚洲清高孕妇 | 日韩午夜一区二区三区 | 一本色道久久综合亚洲二区三区 | 久久的色偷偷 | 日本欧美一区二区三区 | 性av盈盈无码天堂 | 情侣自拍80秒舌吻视频 | 疯狂做受xxxx高潮不断 | 亚洲最大的网站 | 免费看欧美黑人毛片 | 嫩草影院 | 精品自拍av| 91久久久精品视频 | 爱情岛论坛亚洲品质有限公司18 | 秋霞偷拍 | 午夜日本福利 | 国产一级免费在线观看 | 亚洲ww不卡免费在线 | 国产熟女精品视频大全 | 国产精品麻豆aⅴ人妻 | 自拍偷拍精品视频 | 亚洲乱码1卡2卡3乱码在线芒果 | 国产日韩欧美一区二区久久精品 | 欧美激情视频一区二区三区 | 中文资源在线观看 | 97超碰人人网 | 999精品嫩草久久久久久99 | 日韩一区二区免费视频 | 任你躁x7x7x7x7在线观看 | 久久成人国产精品无码 | 国产肉体ⅹxxx137大胆 | 亚洲精品久久久久久中文传媒 | 亚洲国产精品尤物yw在线 | 一本一道波多野结衣av黑人 | 久久超碰在线 | 人妻无码免费一区二区三区 | 亚洲国产精品肉丝袜久久 | 99久久久国产精品美女 | 欧美人与性动交α欧美精品 | 操碰视频在线观看 | 成码无人av片在线电影网站 | 国产乱子伦一区二区三区视频播放 | 男人天堂网在线 | 日本国产精品视频 | 琪琪秋霞午夜av影视在线 | 婷婷丁香五月激情综合在线 | 亚洲久久久久久 | 一本大道精品视频在线 | 天堂在线资源库 |