日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面向切面编程-日志切面应用

發布時間:2025/4/16 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面向切面编程-日志切面应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介:

  AOP:面向切面編程,即拓展功能不通過修改源代碼實現,采用橫向抽取機制,取代了傳統的縱向繼承體系重復性代碼。在運行期通過代理方式向目標類織入增強代碼。

  Aspecj:Aspecj 是一個基于java語言的AOP框架,spring2.0開始,spring AOP引入對Aspect的支持,Aspect擴展了Java語言,提供了一個專門的編譯器,在編譯時提供橫向代碼的織入。

  使用aspectj實現aop有兩種方式
    (1)基于aspectj的xml配置
    (2)基于aspectj的注解方式

Spring?AOP底層代理機制:

1、JDK動態代理:針對實現了接口的類產生代理

2、CGLib動態代理:針對沒有實現接口的類產生代理,應用的是底層的字節碼增強技術來生成當前類的子類對象。

?

面向切面相關術語:

  JoinPoint(連接點):能被攔截的點,即類里面可以被增強的方法,這些方法稱為連接點,Spring只支持方法類型的連接點。

  PointCut(切入點):實際對JoinPoint中攔截的點,即實際增強的方法成為切入點。

  Advice(通知/增強):所謂增強是指攔截到JoinPoint之后所要做的事情。(比如擴展的日志功能就是增強),通知分為:

    前置增強@Before:在方法(切入點)之前執行的增強

    后置增強@After:在方法(切入點)之后執行的增強

    異常增強@AfterThrowing:在方法執行出現異常的時候執行的增強

    //最終增強:在后置通知之后執行,無論目標方法是否出現異常,都會執行的增強,好像沒有這個

    環繞增強@Around:在方法之前和之后都執行的增強

    返回增強@AfterReturning:在方法正常返回之后執行

  Aspect(切面):切入點和增強的結合,即將通知應用到具體方法上的過程

  Introduction(引介):引介是一種特殊的通知在不修改類代碼的前提下, Introduction 可以在運行期為類動態地添加一些方法或 Field.(一般不用)

  Target(目標對象):代理的目標對象,即要增強的類

  Weaving(織入):是指把增強應用到目標對象來創建新的代理對象的過程

  Proxy( 代理) :一個類被 AOP 織入增強后, 就產生一個結果代理類

?  

實踐:

  導入aop相關的包

<!--注解和aop的jar包--> <dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.2.5.RELEASE</version> </dependency> <dependency><groupId>aopalliance</groupId><artifactId>aopalliance</artifactId><version>1.0</version> </dependency> <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.0</version> </dependency> <dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>4.2.5.RELEASE</version> </dependency>

Spring核心配置文件導入AOP約束

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> </beans>

通過execution函數,可以定義切點的方法切入
語法:
  execution(<訪問修飾符>?<返回類型><方法名>(<參數>)<異常>)
例如:
1、匹配所有類public方法 execution(public * * (..))
2、匹配指定包下所有類中的方法 execution(* cn.com.yang.dao.*(..)) 不包含子包
execution(* cn.com.yang.dao..*(..)) 包含本包,子孫包下的所有類
3、匹配指定類所有方法 execution(* cn.com.yang.dao.UserDao*(..) )
4、匹配實現特定接口所有類中的方法 execution(* cn.com.yang.dao.GenericDao+.*(..))
5、匹配所有save開頭的方法 execution(* save*(..))
6、所有方法 execution(* * . *(..))

?

基于XML的AOP:

aop增強類:

/*** aop增強類*/ public class MyUserAop {//前置通知public void before1() {System.out.println("前置增強......");}//后置通知public void after1() {System.out.println("后置增強......");}//環繞通知public void around1(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {//方法之前System.out.println("方法之前.....");//執行被增強的方法 proceedingJoinPoint.proceed();//方法之后System.out.println("方法之后.....");} }

切入點,即實際要增強的方法:

// User實體的add方法 public void add(){System.out.println("user的add方法"); }

Spring配置文件中的配置

<!--裝配aop增強類--> <bean id="myUserAop" class="cn.com.yang.common.MyUserAop"/><aop:config><!--定義切入點--><aop:pointcut id="pointcut1" expression="execution(* cn.com.yang.modules.base.model.User.add(..))"/><!--定義切面--><aop:aspect ref="myUserAop" order="1"><aop:before method="before1" pointcut-ref="pointcut1"/><aop:after method="after1" pointcut-ref="pointcut1"/></aop:aspect> </aop:config>

輸出結果:

前置增強...... user的add方法 后置增強......

?

基于AspectJ注解的AOP:

1、在Spring核心配置文件中配置,開啟AOP掃描

<!-- 開啟aop掃描 自動為spring容器中那些配置@aspectJ切面的bean創建代理,織入切面。當然,spring 在內部依舊采用AnnotationAwareAspectJAutoProxyCreator進行自動代理的創建工作,但具體實現的細節已經被<aop:aspectj-autoproxy />隱藏起來了 <aop:aspectj-autoproxy />有一個proxy-target-class屬性,默認為false,表示使用jdk動態代理織入增強,當配為<aop:aspectj-autoproxy poxy-target-class="true"/>時, 表示使用CGLib動態代理技術織入增強。不過即使proxy-target-class設置為false,如果目標類沒有聲明接口,則spring將自動使用CGLib動態代理。 --> <aop:aspectj-autoproxy/><!--aop增強類--> <bean id="myUserAop" class="cn.com.yang.common.MyUserAop"/> 2、在增強類上面使用注解@Aspect 3、在增強類的方法上使用注解配置切入點表達式 配置之后的增強類: /*** aop增強類*/ @Aspect public class MyUserAop {//前置通知@Before(value = "execution(* cn.com.yang.modules.base.model.User.*(..))")public void before1() {System.out.println("前置增強......");}//后置通知@After(value = "execution(* cn.com.yang.modules.base.model.User.*(..))")public void after1() {System.out.println("后置增強......");}//環繞通知@Around(value = "execution(* cn.com.yang.modules.base.model.User.*(..))")public void around1(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {//方法之前System.out.println("方法之前.....");//執行被增強的方法 proceedingJoinPoint.proceed();//方法之后System.out.println("方法之后.....");} } 執行結果: 方法之前..... 前置增強...... user的add方法 方法之后..... 后置增強......

?

AOP應用:

  在實際的應用中,每個方法內邏輯處理前可能都要打印入參信息,方法執行結束再打印返回結果。那么就可以使用AOP的橫向抽取機制,為所有的方法增強前置日志輸出和后置日志輸出。

下面是一個實際項目中的使用自定義注解和AOP實現的環繞增強打印入參和響應結果日志和在返回結果為sucess的情況下將日志信息入庫的例子:

自定義日志注解:

/*** 日志注解,不需要入庫的則不加本注解(返回值中responseCode為"0000"才會入庫)* value:需要記錄到數據庫中的操作信息,如:@Log("刪除渠道:{channelId}"),其中channelId為請求參數中的值,* 沒有占位符則直接記錄value值,目前只支持入庫傳入參數中的值* ElementType.METHOD 此注解只可應用在方法上,因為Spring只能對方法增強* RetentionPolicy.RUNTIME 此注解在運行期仍保留,所以可在運行期使用代理獲取有此注解的方法* Documented 此注解包含在JavaDoc中*/ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Log {String value() default ""; }

?

日志增強類:

package com.suning.epp.maarms.release.monitor;import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.serializer.PropertyFilter; import com.alibaba.fastjson.serializer.SerializerFeature; import com.suning.epp.maarms.common.constants.Constants; import com.suning.epp.maarms.common.utils.StringUtil; import com.suning.epp.maarms.release.service.intf.OperateLogService; import com.suning.epp.pu.common.aop.lang.CommonResult; import org.apache.commons.lang3.StringUtils; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; import org.springframework.stereotype.Component; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes;import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern;/*** 日志切面,切controller方法,記錄方法調用、退出與調用時間,如果有responseCode也會記錄調用結果日志,<br/>* 如果加了@Log注解,會將操作記錄加到數據庫** @author 17111829*/ @Aspect @Component public class LogAdvice {private static final Logger LOGGER = LoggerFactory.getLogger(LogAdvice.class);/*** 日志文件中配置的線程號占位符*/private static final String STR_INVOKE_NO = "invokeNo";private static final Pattern PATTERN = Pattern.compile("\\{[^{]*}");private static final String LEFT_BRACE = "{";/*** @Resource 默認按照bean id名稱進行注入依賴* 日志入庫服務*/@Resourceprivate OperateLogService operateLogService;/*** 抽取工作的切入點表達式,切點,所有含有@RequestMapping的方法*/@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")private void webPointcut() {// Do nothing }/*** 在方法執行前后增強** @param joinPoint joinPoint* @return 方法返回值*/@Around("webPointcut()")public Object around(ProceedingJoinPoint joinPoint) {MDC.put(STR_INVOKE_NO, StringUtil.getUuid());// 記錄整個方法的執行用時long start = System.currentTimeMillis();// 獲取當前方法執行的上下文的requestHttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();String requestURI = request.getRequestURI();// 獲取請求發起操作人String userId = request.getRemoteUser();// 獲取請求參數Map<String, Object> paramMap = getRequestParams(request);// 不輸出map中字段值為null的字段String requestParams = JSONObject.toJSONString(paramMap, SerializerFeature.WriteMapNullValue);// 打印入參日志LOGGER.info("URI:{},用戶:{}, 入參:{}", requestURI, userId, requestParams);// 獲取被增強的方法的相關信息MethodSignature ms = (MethodSignature) joinPoint.getSignature();// 獲取被增強的方法Method pointcutMethod = ms.getMethod();// @Log注解的value屬性值String logContent = null;// 判斷被增強的方法上是否有@Log注解if (pointcutMethod.isAnnotationPresent(Log.class)) {Log logAnon = pointcutMethod.getAnnotation(Log.class);logContent = logAnon.value();}Object result = null;try {// 執行被增強的方法并獲取方法的返回值result = joinPoint.proceed();String responseCode = null;String resultStr;// 如果返回的結果是個字符串if (result instanceof String) {resultStr = (String) result;// 如果有@Log注解并且@Log注解的value不為空if (StringUtils.isNotBlank(logContent)) {JSONObject jso = JSON.parseObject(resultStr);responseCode = jso.getString(Constants.RESPONSE_CODE);}// 方法執行返回的結果不是字符串} else {// 如果方法的返回值一個分頁查詢的結果if (result instanceof PageResult) {// 分頁數據過濾掉 data,不打印日志,SerializerFeature.WriteMapNullValue不輸出Map中為null的字段resultStr = JSON.toJSONString(result, dataFilter, SerializerFeature.WriteMapNullValue);} else {resultStr = JSON.toJSONString(result, SerializerFeature.WriteMapNullValue);}// 有@Log注解時,如果返回0000則記錄操作日志if (StringUtils.isNotBlank(logContent)) {if (result instanceof Map) {responseCode = (String) ((Map) result).get(Constants.RESPONSE_CODE);} else if (result instanceof CommonResult) {responseCode = ((CommonResult) result).getResponseCode();}}}// 返回0000則記錄操作日志if ("0000".equals(responseCode)) {insertOperateLog(logContent, userId, paramMap);}long end = System.currentTimeMillis();long useTime = end - start;LOGGER.info("用時:{}ms,返回結果:{}", useTime, resultStr);
      // 被增強的方法的異常也再此捕獲,因此在代碼中將不需要捕獲異常信息}
catch (Throwable throwable) {LOGGER.error("發生異常, 異常信息:{}", ExceptionUtil.getAllStackTrace(throwable));}// 方法執行結束,移除上下文中的線程號 MDC.remove(STR_INVOKE_NO);return result;}/*** 獲取請求參數** @param request request* @return json格式參數*/private Map<String, Object> getRequestParams(HttpServletRequest request) {Enumeration pNames = request.getParameterNames();Map<String, Object> paramMap = new HashMap<>(6);String paramName;String[] paramValues;while (pNames.hasMoreElements()) {paramName = String.valueOf(pNames.nextElement());paramValues = request.getParameterValues(paramName);if (paramValues != null && paramValues.length == 1) {paramMap.put(paramName, paramValues[0]);} else {paramMap.put(paramName, paramValues);}}return paramMap;}/*** 日志入庫** @param logContent 操作事件*/private void insertOperateLog(String logContent, String userId, Map<String, Object> paramMap) {if (StringUtils.isNotBlank(logContent)) {String newLogContent = logContent;// 如果有占位符則替換if (logContent.contains(LEFT_BRACE) && paramMap != null) {newLogContent = replaceParam(logContent, paramMap);}// 入庫,誰干了什么 operateLogService.insertOperateLog(userId, newLogContent);}}/*** 用入參中的值 替換@Log注解中的占位符** @param logContent @Log注解中的value值* @return 替換后的操作內容*/private String replaceParam(String logContent, Map<String, Object> paramMap) {Matcher matcher = PATTERN.matcher(logContent);String matchedStr;String oldContent;Object newContent;String newLogContent = logContent;while (matcher.find()) {matchedStr = matcher.group();oldContent = matchedStr.substring(1, matchedStr.length() - 1).trim();newContent = paramMap.get(oldContent);if (newContent != null) {if (newContent instanceof String[]) {newLogContent = newLogContent.replace(matchedStr, Arrays.toString((String[]) newContent));} else {newLogContent = newLogContent.replace(matchedStr, newContent.toString());}}}return newLogContent;}/*** 字段過濾器,過濾掉data字段不打印*/private PropertyFilter dataFilter = new PropertyFilter() {@Overridepublic boolean apply(Object object, String name, Object value) {// false表示 data字段將被排除在外return !"data".equals(name);}};}

?

轉載于:https://www.cnblogs.com/yangyongjie/p/10940843.html

總結

以上是生活随笔為你收集整理的面向切面编程-日志切面应用的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久视频这里有久久精品视频11 | 国产婷婷一区二区 | 亚洲日韩欧美一区二区在线 | 综合久久五月天 | 在线观看日韩av | www婷婷| 人人舔人人插 | 在线激情小视频 | 超碰在线公开免费 | 国产精品精品久久久久久 | 久久久免费播放 | 97精品国产97久久久久久久久久久久 | 国产精品手机播放 | 日韩特黄一级欧美毛片特黄 | 婷婷伊人综合亚洲综合网 | 日韩资源在线 | 99亚洲精品| 中文字幕人成不卡一区 | 一区二区三区中文字幕在线 | 狠狠狠色丁香婷婷综合激情 | 国产一性一爱一乱一交 | 五月天网站在线 | 中文字幕精品www乱入免费视频 | 国内亚洲精品 | 午夜成人免费影院 | 激情小说网站亚洲综合网 | 亚洲精品女人 | 91丨porny丨九色 | 五月婷婷六月丁香 | 天天操天天综合网 | 成人午夜免费剧场 | 超碰97免费在线 | 黄色a视频 | 亚洲精欧美一区二区精品 | 亚洲精品美女在线 | 一级黄视频 | 色婷婷激情电影 | 亚洲最快最全在线视频 | 午夜.dj高清免费观看视频 | 亚洲精品小视频在线观看 | 伊人网站 | 亚洲激情| 欧美在线日韩在线 | 免费在线观看中文字幕 | 日韩精品电影在线播放 | 91av视频在线播放 | 欧美乱大交 | 欧美日韩在线精品一区二区 | 久久只精品99品免费久23小说 | 久久综合九色九九 | 99久久精品久久久久久动态片 | 久久久久免费网站 | 在线观看岛国av | 国产欧美精品在线观看 | 国产婷婷久久 | 日韩精品免费在线播放 | 中文字幕在线视频第一页 | 一级黄色在线视频 | 免费在线观看视频一区 | 久久免费在线视频 | 国产在线观看不卡 | 激情黄色av | 九九热精品视频在线播放 | 欧美一区二区三区在线看 | 999视频网 | 91原创在线观看 | 中文字幕网站 | 天堂黄色片 | 天天看天天干 | 国产97碰免费视频 | 免费a网址 | 色人久久 | 欧美日韩91 | 91av中文| 国产精华国产精品 | 992tv人人草 黄色国产区 | 亚洲综合爱 | 91理论电影 | 久久精品中文字幕少妇 | 国产中文字幕视频在线 | 中文字幕在线观看完整版 | 99精品国产成人一区二区 | 亚洲一区二区精品在线 | 精品亚洲网 | 亚洲国产中文字幕在线 | 在线中文字幕观看 | 人人看人人艹 | 国产91在线免费视频 | 日韩中文字幕视频在线观看 | 91成人看片| 欧美另类sm图片 | 91黄站| 色妞色视频一区二区三区四区 | 99视频在线免费看 | 探花系列在线 | 激情综合五月天 | 色国产精品一区在线观看 | 国产三级久久久 | 久草视频精品 | 91麻豆精品国产91久久久久久久久 | 精品国产乱码久久久久久1区2匹 | 日韩美女黄色片 | 亚洲精品美女在线 | 亚洲伦理一区二区 | 亚洲精品一区二区18漫画 | 免费一级日韩欧美性大片 | 国产精品一区二区在线免费观看 | 久久久久国产一区二区三区四区 | 国产精品久久久久免费 | 深爱开心激情网 | 日日碰狠狠躁久久躁综合网 | 一区二区三区不卡在线 | 一区二区三区日韩在线观看 | 丁香婷婷综合网 | 日韩欧美一区二区在线 | 日本在线视频网址 | 中国黄色一级大片 | 在线观看的黄色 | 亚洲国产视频在线 | 国产免费视频一区二区裸体 | 精品在线观看视频 | 欧美激情综合色 | 成人动漫一区二区三区 | 91污在线观看 | 中文字幕 国产专区 | 国产精品av免费在线观看 | 91爱爱免费观看 | 天天操综合网 | 欧美在线视频一区二区 | 欧美视屏一区二区 | 热久久视久久精品18亚洲精品 | 黄色在线观看免费网站 | 久久一本综合 | 欧美伊人网 | 中文字幕日本在线 | 五月婷婷播播 | 伊人日日干 | 91高清免费在线观看 | 69亚洲视频 | 亚洲激情五月 | 日韩激情视频在线观看 | 精品在线免费观看 | 成年人黄色免费网站 | 亚洲国产成人在线 | 69xx视频 | 九九免费精品视频在线观看 | 欧美久久成人 | 精品三级av | 国产中文字幕在线观看 | 欧美性生活久久 | 亚洲国产精久久久久久久 | 天天操天天色天天射 | 久久久久女人精品毛片九一 | 在线中文字幕播放 | 黄色软件视频大全免费下载 | 国产精品成人aaaaa网站 | 日韩中文字幕免费视频 | 91探花在线视频 | 欧美日韩aaaa| 亚洲精品观看 | 色五婷婷| 永久免费在线 | 天天操天天草 | av国产在线观看 | 国产精品va在线播放 | 国产一级大片免费看 | 天天色天天干天天 | 亚洲成人av一区 | 日韩在线首页 | 亚洲伊人色 | 人人爽人人片 | 久久精品视频免费观看 | 狠狠狠狠狠狠狠干 | 欧美日本一区 | 欧美精品乱码久久久久 | 欧美日高清视频 | 91精品在线免费 | 久草在线观 | 欧美人zozo | 免费精品国产va自在自线 | 日韩美在线 | 麻豆成人小视频 | 97超碰成人在线 | 免费能看的av| 久久免费公开视频 | 麻豆免费视频观看 | 九九热中文字幕 | 久久五月精品 | 免费a v观看| 黄色大全免费网站 | 三级免费黄色 | av亚洲产国偷v产偷v自拍小说 | 99精品区| 国产福利在线免费观看 | 99精品一区二区三区 | 黄污网站在线 | 最近日本韩国中文字幕 | 欧美最猛性xxxx | 91av久久| 免费在线观看黄网站 | 精品欧美在线视频 | 91丨九色丨蝌蚪丨老版 | 精品国产黄色片 | 国产剧情一区 | 久久这里只有精品首页 | 福利一区二区 | 狠狠躁日日躁夜夜躁av | 中文在线中文a | 亚洲成人在线免费 | 91在线资源 | 在线v片免费观看视频 | 亚洲永久精品在线 | av中文字幕免费在线观看 | 亚洲一区二区三区毛片 | 天天操夜夜操夜夜操 | 国产精品午夜在线观看 | 九九视频免费观看视频精品 | 国产精品白丝jk白祙 | 人人爽人人爽人人片 | 国产一区二三区好的 | 欧美日韩国产网站 | 亚洲电影成人 | 欧美性大战久久久久 | 99在线热播精品免费 | 91精品福利在线 | 亚洲一区二区精品3399 | 亚一亚二国产专区 | 亚洲在线精品 | 蜜桃视频日韩 | 人人射av| 久久九九影院 | 欧美超碰在线 | 国产免费又粗又猛又爽 | 狠狠狠色丁香婷婷综合久久五月 | 日韩精品一区二区三区在线播放 | 91视频在线播放视频 | 射久久| 成人黄色av免费在线观看 | 国产69久久久欧美一级 | 免费在线播放av电影 | 久久视频国产精品免费视频在线 | av在线播放免费 | 久久婷婷一区二区三区 | 99视频在线播放 | 激情深爱.com | 免费观看国产精品视频 | 久久精彩视频 | 国产精品一区二区三区免费看 | 日韩欧美在线视频一区二区三区 | 久久久久综合 | 一级黄色片毛片 | 久久久精品在线观看 | 色婷婷综合久久久久中文字幕1 | 五月天久久精品 | 婷婷狠狠操 | 波多野结衣在线观看视频 | 亚洲三区在线 | 久久在线看 | 日韩视频免费在线观看 | 婷婷av综合| 色人久久| 超碰在线观看99 | 97在线看 | 天天夜夜狠狠操 | 亚洲国产精品久久久 | 欧美在线91 | 久操视频在线 | 日韩羞羞| 亚洲乱码精品久久久 | 欧美在线视频免费 | 国产精品美女久久 | 亚洲理论在线 | 日韩在线色视频 | 欧美一区二区三区不卡 | 免费看的黄色录像 | 久久精品综合 | 欧美日产在线观看 | 国产精品无av码在线观看 | 久久男人影院 | 色婷五月天 | 国产精品永久久久久久久www | 色网站中文字幕 | 色狠狠婷婷| 91私密视频 | 天天操夜夜摸 | 国产精品第10页 | 日韩va在线观看 | 99久久久国产精品免费99 | 亚洲va韩国va欧美va精四季 | 国产 在线 日韩 | www.久久成人| 亚在线播放中文视频 | 99精品久久99久久久久 | 日产中文字幕 | 国产精品ssss在线亚洲 | 成人在线观看影院 | 99精品视频网 | 中文资源在线播放 | 日韩天天干| 国产91精品一区二区绿帽 | 十八岁以下禁止观看的1000个网站 | av网站在线观看免费 | 国产伦精品一区二区三区四区视频 | 日韩一级电影在线观看 | 人成免费网站 | 国产高清av免费在线观看 | 干综合网| 日韩99热 | 久久精品亚洲 | 在线三级播放 | 一区在线免费观看 | 日韩高清网站 | 91伊人久久大香线蕉蜜芽人口 | 国语对白少妇爽91 | 久久一区二区三区超碰国产精品 | 欧美日韩免费观看一区=区三区 | 国产一级在线观看视频 | 欧美久久久| 香蕉视频在线免费看 | 日韩免费 | 免费能看的黄色片 | 日日夜日日干 | 日韩视频欧美视频 | 99精品久久99久久久久 | 日韩在线第一区 | 99精品免费久久久久久久久 | 伊人网站| 国产成人福利在线观看 | 亚洲午夜精品久久久久久久久久久久 | 99热都是精品 | 日本福利视频在线 | 蜜臀av.com| 久艹视频在线观看 | 久久一区二区免费视频 | 中文字幕久久精品 | 97操碰| 国产亚洲精品女人久久久久久 | 精品欧美一区二区精品久久 | 国内精品久久久久国产 | 国产护士在线 | 国产精品岛国久久久久久久久红粉 | 99热这里只有精品国产首页 | 不卡av电影在线 | 欧美在线你懂的 | 九九综合久久 | 一区二区三区福利 | 精品视频在线播放 | 亚洲色影爱久久精品 | 香蕉在线观看视频 | 97人人澡人人爽人人模亚洲 | 丁香六月五月婷婷 | 免费黄色小网站 | 日韩av二区 | 麻豆精品在线视频 | av电影在线观看完整版一区二区 | 久久午夜免费观看 | 亚洲高清激情 | 久久综合偷偷噜噜噜色 | 丰满少妇对白在线偷拍 | 五月天色站 | 在线 高清 中文字幕 | 一二区精品 | 久色免费视频 | 成人在线一区二区 | av色网站 | 日韩成人欧美 | 麻豆视频国产在线观看 | av黄色在线播放 | 99精品国自产在线 | 成人毛片在线视频 | av在线永久免费观看 | 91精品国产一区二区三区 | 国产黄色精品在线观看 | 成人在线小视频 | 人人干天天干 | 激情综合色综合久久综合 | 青青河边草免费视频 | 91精品视频一区 | 色婷婷伊人 | 超碰在线日本 | 高清免费在线视频 | 国产欧美久久久精品影院 | av福利在线播放 | 97超碰免费在线 | 亚洲伊人成综合网 | 日韩av中文字幕在线免费观看 | 国产特级毛片 | 亚洲欧美激情插 | 国产精品一区专区欧美日韩 | 亚洲人xxx | 日韩精品一区二区三区三炮视频 | 中文字幕在线影视资源 | 国产精品原创av片国产免费 | www.天天综合 | 久章草在线 | 亚洲天堂网在线视频 | 国产片免费在线观看视频 | 日日夜夜操操 | 国产日产精品一区二区三区四区 | 97精品国产97久久久久久春色 | 欧美日韩国产精品一区二区亚洲 | 国产精品永久免费在线 | 三级黄色理论片 | 国产精品69av | 久草在线视频在线观看 | 色妞色视频一区二区三区四区 | 香蕉在线观看视频 | 激情综合色图 | 色婷婷激情电影 | 人人澡人人舔 | 91色亚洲 | 99视频免费| www.伊人网 | 国产不卡免费 | 久久久久9999亚洲精品 | 精精国产xxxx视频在线播放 | 五月香视频在线观看 | 国产99久久九九精品免费 | 青青草国产免费 | 黄色大片av | 麻豆成人精品视频 | 欧美日韩一区二区在线观看 | 韩国av免费| 最新国产一区二区三区 | 国产福利一区二区三区在线观看 | 有码视频在线观看 | 2024国产精品视频 | 高清av免费看 | 81国产精品久久久久久久久久 | 国产在线精品播放 | 五月天天色 | 欧美日韩a视频 | 国产乱对白刺激视频不卡 | 久久久久福利视频 | 日本中文字幕视频 | 国产精品麻豆果冻传媒在线播放 | 在线国产91| 中文字幕在线网址 | 四虎影视成人永久免费观看亚洲欧美 | 五月婷婷激情综合网 | 国产精品久久久久久久久大全 | 久久午夜羞羞影院 | 黄色av高清 | 91av久久| 久久久久免费精品国产 | 97品白浆高清久久久久久 | 99热手机在线观看 | 青青河边草免费视频 | 麻豆精品视频 | 欧美日韩国产网站 | 福利久久久 | 四虎影视精品永久在线观看 | 丁香色婷| 91精品久久香蕉国产线看观看 | 激情丁香综合 | 超碰在线人人艹 | 久久99精品国产 | 我爱av激情网 | 狠狠色丁香久久婷婷综合_中 | 亚洲1区在线 | 亚洲一区在线看 | 国产精品久久久久免费观看 | 国产精品福利av | 国产精品国产自产拍高清av | 日韩在线国产精品 | 色姑娘综合 | 涩涩网站在线播放 | 黄色av成人在线观看 | 婷婷久久亚洲 | 中文字幕美女免费在线 | 欧洲精品亚洲精品 | 天天色天天上天天操 | 日韩中文在线电影 | 日日干夜夜爱 | 日韩一二三 | 国产在线毛片 | 国产精品va| 成年人黄色在线观看 | 久久久久久久久久久影院 | 国产在线欧美在线 | 超碰在线人人97 | 久久久久亚洲精品成人网小说 | 亚洲涩涩网 | www亚洲精品 | 在线观av| 99国产精品视频免费观看一公开 | 黄色av免费看 | 91亚洲网站 | 六月丁香综合 | 日韩国产欧美在线视频 | 中文字幕中文中文字幕 | 91精品久久久久久久91蜜桃 | 精品国产伦一区二区三区 | 欧美日本啪啪无遮挡网站 | 亚洲欧美日韩一区二区三区在线观看 | 欧美大片mv免费 | 狠狠综合久久av | 成年人免费看的视频 | 午夜狠狠干 | 中文字幕成人网 | 亚洲天堂自拍视频 | 色开心| 五月天色站 | 国产精品岛国久久久久久久久红粉 | 伊人资源站 | 草久热 | 在线不卡a | 天天玩天天干天天操 | 国产人成免费视频 | 日韩精品三区四区 | 午夜影院一区 | 欧美精品亚州精品 | 色五婷婷| 99在线视频精品 | 色亚洲网 | 狠狠狠色丁香综合久久天下网 | 国产精品久久久久久久久久三级 | 午夜成人影视 | 国产又粗又猛又爽又黄的视频免费 | 国产高清免费 | 天天操天天舔天天爽 | 免费情趣视频 | 日本三级大片 | 欧美尹人 | 国产不卡av在线 | 成人黄色在线看 | 免费看黄视频 | 91九色精品国产 | www..com黄色片 | 亚洲精欧美一区二区精品 | 欧美午夜寂寞影院 | 久久一区二区三区四区 | 久久草草热国产精品直播 | 99视频在线精品国自产拍免费观看 | 日韩精品视频在线免费观看 | 在线视频一区二区 | 国产亚洲欧洲 | 中文字幕亚洲综合久久五月天色无吗'' | 啪嗒啪嗒免费观看完整版 | 午夜av影院 | 黄污视频网站 | 日日日日 | 日产乱码一二三区别免费 | 香蕉视频在线免费 | 成人在线免费小视频 | 久久午夜免费视频 | 久久久久成人精品亚洲国产 | 激情久久久| 乱男乱女www7788 | 久草在线资源网 | 亚洲精品在线免费播放 | 99久久婷婷国产精品综合 | 日日干夜夜草 | 成人福利在线 | 中文字幕区 | 99免费看片 | 国产三级香港三韩国三级 | 91九色成人 | 人人澡超碰碰97碰碰碰软件 | 婷婷丁香av | 国外成人在线视频网站 | 成 人 黄 色 免费播放 | 国产精品久久三 | 色婷婷视频在线观看 | 久久久久国产精品视频 | 成年美女黄网站色大片免费看 | 欧美日韩亚洲第一页 | 超碰人人射 | 中文字幕资源站 | 狠狠操狠狠干天天操 | 99久久精品免费看国产一区二区三区 | 91人人澡人人爽人人精品 | 在线观看成年人 | 国产手机视频在线 | 久久99在线 | 密桃av在线 | 91在线中文| 亚洲毛片视频 | 欧美成人黄色 | 久久精品国产一区二区电影 | 午夜精品久久久久久久99 | 天天色综合三 | 性色av免费在线观看 | 国产精华国产精品 | 99视频在线看| 国产精品免费在线观看视频 | 中文字幕一区二区三区乱码在线 | 国产亚洲精品电影 | 久久不射网站 | 四虎视频 | 国产91精品一区二区麻豆亚洲 | 最近高清中文字幕在线国语5 | 亚洲精品一区二区三区高潮 | 色婷婷六月天 | 久久成人黄色 | 日韩精品不卡在线观看 | 国产精品久久久久9999 | 国产va精品免费观看 | 在线看日韩av | 国产三级久久久 | 91亚洲精品在线观看 | 日韩在线国产精品 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 欧美在线视频一区二区三区 | 欧美日韩在线播放 | 国产资源 | 日韩中文字幕国产精品 | 日韩精品一区二 | 久草av在线播放 | 精品国产黄色片 | 91视频免费 | 最新精品视频在线 | 亚州av免费 | 亚洲国产免费网站 | 激情综合网天天干 | 一区二区久久 | 中文字幕欧美日韩va免费视频 | 全久久久久久久久久久电影 | 久久福利国产 | 7777精品伊人久久久大香线蕉 | 亚洲精品乱码久久久久久蜜桃91 | 91成人精品一区在线播放69 | 国产精久久久久久久 | 综合视频在线 | 乱子伦av| 久久这里只精品 | 午夜久久网 | 黄色毛片视频免费观看中文 | 国产成人在线综合 | 久久久久高清 | 开心婷婷色| 久久不射电影院 | 操操操av | 69视频网站 | 成人一区二区三区在线观看 | 国产一级视屏 | 日本中文字幕网址 | 国产女人40精品一区毛片视频 | 2021国产精品视频 | 久草在线视频精品 | 奇米777777 | av在线永久免费观看 | 国内丰满少妇猛烈精品播 | 国产伦精品一区二区三区无广告 | 久久中国精品 | 性色xxxxhd | 99久久久久久久久久 | 91香蕉视频 mp4| 丁香视频 | 久久综合九色综合网站 | www.天天草 | 亚洲无吗天堂 | 免费一级黄色 | 波多野结衣一区二区三区中文字幕 | 国产成人精品一区二区三区网站观看 | 91精品国产91p65 | 综合黄色网 | 成人小视频在线免费观看 | 三级av在线免费观看 | 久久99网 | 婷婷av色综合| 天天色天天操综合网 | 欧美影片 | av高清影院 | 国产a高清 | 99精品欧美一区二区三区黑人哦 | 91亚洲国产成人久久精品网站 | 人人干人人草 | 国产精品av免费观看 | 久久免费视频在线观看6 | 丁香电影小说免费视频观看 | 中文字幕av在线播放 | 色视频在线免费观看 | 日韩一区二区免费视频 | 日本最大色倩网站www | 手机在线永久免费观看av片 | 国产经典av | 欧美极度另类 | 一区二区三区在线免费观看视频 | 免费高清在线观看成人 | 国产在线v | 成片免费| 91久久久久久久一区二区 | 在线观看av小说 | 99精品一级欧美片免费播放 | 在线视频中文字幕一区 | 中文字幕在线看片 | 欧美精品色 | 中文字幕一区二区三区乱码在线 | 五月激情在线 | 精品国产乱码久久久久久久 | 成人91视频| 欧美日韩高清一区二区 国产亚洲免费看 | 国产一区二区在线观看视频 | 久久国产欧美日韩 | 麻豆观看 | 精品国产一区二区三区久久久蜜月 | 国产在线一区二区 | 亚洲精品理论 | 久在线观看视频 | 国产精品一区二区久久久久 | 国产精品久久9 | 青青草在久久免费久久免费 | 91传媒在线播放 | 欧美成人高清 | 久艹在线播放 | 免费国产亚洲视频 | 婷婷在线不卡 | 色综合天天色综合 | 91亚洲在线观看 | 日本二区三区在线 | 91成人网页版| 色国产精品 | 免费三级大片 | 片黄色毛片黄色毛片 | 操操操人人人 | 免费a v在线 | 中国一区二区视频 | 狠狠ri| 免费涩涩网站 | 亚洲国产视频在线 | 国产午夜三级一区二区三桃花影视 | www好男人 | 一区二区三区日韩在线观看 | 激情九九 | 91看片在线免费观看 | 日韩欧美综合视频 | 婷婷综合久久 | 欧美日韩国产区 | 一区二区三区四区久久 | 黄色免费视频在线观看 | 久久av伊人 | 成人在线视频网 | 欧美激情综合五月色丁香 | 午夜久久福利视频 | 久久久久麻豆 | 九九久久视频 | 色网站在线免费观看 | 97视频在线观看播放 | 99久久99久久精品免费 | 欧美久久综合 | 色搞搞| 国产亚洲精品成人av久久ww | 欧美精品一区二区三区四区在线 | 欧美a性| 国产a级免费 | 免费在线播放视频 | 视频一区二区国产 | 日韩一级成人av | 热re99久久精品国产99热 | 天堂va在线观看 | 成人免费在线视频观看 | www.天天成人国产电影 | 999视频精品| 亚洲精品女人 | 国内成人精品视频 | 丁香婷婷激情 | 日韩网站在线观看 | 最近久乱中文字幕 | 九草视频在线 | 一本色道久久综合亚洲二区三区 | 亚洲理论视频 | 成人动漫精品一区二区 | 中文在线8新资源库 | 中文字幕av全部资源www中文字幕在线观看 | 狠狠色丁香婷婷综合欧美 | 免费av影视 | 日韩一级成人av | 92精品国产成人观看免费 | 成人久久久久久久久久 | 美女视频黄频 | 欧美日韩在线播放 | 黄色片免费电影 | 免费日韩一级片 | 婷婷日日 | 在线看片一区 | 在线 精品 国产 | 国产精品麻豆视频 | 97国产一区 | 国产无遮挡又黄又爽在线观看 | 天天操天天操天天 | 久草电影免费在线观看 | 五月综合婷| 免费h精品视频在线播放 | 丁香网婷婷 | 国产精品久久久久免费 | 99自拍视频在线观看 | 国产私拍在线 | 99精品国产一区二区三区不卡 | 久99久视频 | 国产在线97| 国产精品欧美久久 | 国产午夜精品一区二区三区 | 久久影视一区 | 在线观看成年人 | 亚洲精品国产成人 | 在线a亚洲视频播放在线观看 | 日韩三级视频在线看 | 国产精品一二三 | 国产中文字幕一区 | 国产精品欧美日韩在线观看 | 激情欧美日韩一区二区 | 亚洲毛片一区二区三区 | 日韩在线观看的 | 精品久久久久久久久久国产 | 色婷婷综合久色 | 色噜噜日韩精品一区二区三区视频 | 九色91视频| 国产精品网红直播 | 亚洲精品自拍视频在线观看 | 美女视频黄是免费的 | 69av在线播放 | 探花视频网站 | 久久国产精品视频 | 亚洲精品小区久久久久久 | 毛片一级免费一级 | 久久五月婷婷丁香社区 | 欧美人人 | 欧美午夜精品久久久久 | 欧美精品一区二区免费 | 国产精品高清av | 91在线国内视频 | 免费高清看电视网站 | 色婷久久| 色视频在线免费 | 国产在线日韩 | 成人a v视频| 国产精品99视频 | 婷婷久久久| 狠狠操天天干 | 国产黄a三级三级三级三级三级 | 美女黄网久久 | 国产精品va视频 | 天天想夜夜操 | 欧美精品久久久久久 | 久久婷婷亚洲 | 天天人人综合 | 国内视频 | 免费一级片在线 | 亚洲精品国精品久久99热 | 欧美日韩中文字幕视频 | 中文字幕久久精品亚洲乱码 | 成人福利在线观看 | 日韩69av| 五月激情在线 | 久久看片网站 | 免费国产在线精品 | av在线收看 | 激情久久一区二区三区 | 天天精品视频 | 中文字幕一区二区三区久久蜜桃 | 99在线精品免费视频九九视 | 天天操天天干天天干 | 手机成人在线 | 日韩欧美在线观看 | 操高跟美女| 婷婷丁香国产 | 亚洲成色777777在线观看影院 | 久久久久女人精品毛片九一 | 日本在线成人 | 亚洲精品伦理在线 | 国产午夜精品在线 | 青草视频在线免费 | 狠狠色丁香久久综合网 | 97超碰在线视 | 亚洲狠狠丁香婷婷综合久久久 | 久草在线资源网 | 99久久综合精品五月天 | 国产成人一区二区三区电影 | 国产免费久久 | www.狠狠色 | 色婷婷视频在线观看 | 久久精品免费 | 亚洲网站在线 | 国产美腿白丝袜足在线av | 亚洲无线视频 | 免费人做人爱www的视 | 成人黄在线观看 | 国产视频在线观看一区二区 | 亚洲欧美日韩在线一区二区 | 天天色天天射天天综合网 | av导航福利| 日日色综合| 久久综合操 | 成人毛片一区 | 特级西西444www高清大视频 | 久久精品国产免费看久久精品 | 狠狠色狠狠色综合日日92 | www色,com | 精品在线视频一区二区三区 | 国内精品一区二区 | 精品久久久久久国产 | 鲁一鲁影院 | 成人国产精品久久久久久亚洲 | av三区在线 | 96av麻豆蜜桃一区二区 | 国产精品99免费看 | 国产精品原创在线 | 狠狠色狠狠色综合日日92 | 四虎影视精品永久在线观看 | 久久视频在线观看中文字幕 | 国产精品美 | 日韩久久久久久久 | 日韩一二三区不卡 | 91网页版免费观看 | 波多野结依在线观看 | 免费看片亚洲 | 激情婷婷六月 | 美女精品久久久 | 波多野结衣在线中文字幕 | 久久久久久久久影视 | 国产在线高清精品 | 色综合久久99 | 久久久久99999 | 免费观看性生交大片3 | 午夜丰满寂寞少妇精品 | 色婷婷视频网 | 国产精品免费观看久久 | 欧美高清成人 | 中文字幕在线观看免费高清完整版 | 激情久久久久久久久久久久久久久久 | 免费色黄 | 国产精品一区久久久久 | 91日韩在线视频 | 成人国产电影在线观看 | 精品国产乱码久久久久久浪潮 | 亚洲精品一区二区久 | 中文字幕资源网在线观看 | 香蕉久草| av中文字幕电影 | 精品视频不卡 | 中国一区二区视频 | 免费观看成人av | 国产黄色在线网站 | 久久婷婷色综合 | 欧美精品在线视频观看 | 中文字幕在线观看免费高清完整版 | 2019免费中文字幕 | 正在播放五月婷婷狠狠干 | 日韩成人免费在线 | 午夜精品久久久久久中宇69 | 99精品欧美一区二区蜜桃免费 | 国产精品久久久久久久久久ktv | 九九久久免费视频 | 国产一区二区三精品久久久无广告 | 久久久久久国产精品免费 | 色综合久久66 | 最新日韩视频在线观看 | 久久久久久片 | 国产精品久久久免费看 | 日韩一级片观看 | 国产大陆亚洲精品国产 | aaaaaa毛片 | 在线观看完整版 | 97在线观看视频 | 97手机电影网 | 亚洲精品456在线播放乱码 | 91精品国产自产在线观看永久 | 国产精品短视频 | 99热这里只有精品国产首页 | 国产精品一区二区你懂的 | 最近中文字幕在线播放 | 国产欧美精品一区二区三区四区 | 免费视频三区 | 午夜.dj高清免费观看视频 | 久久久久久综合网天天 | 国产美女被啪进深处喷白浆视频 | 久久婷婷国产色一区二区三区 | 色婷婷国产精品 | 成人小视频免费在线观看 | 欧美激情精品久久久久久免费印度 | 成人黄色免费观看 | 午夜精品久久久久99热app | 日韩精品免费在线观看视频 | 91精品伦理| 日韩手机在线观看 | 青青河边草免费视频 | 国产丝袜美腿在线 | 91九色九色| 亚洲综合精品视频 | 欧美精品久久99 | 国产精品久久久久久久久久东京 | 日韩字幕 | 欧美日韩高清在线观看 | 在线成人av| 天堂久色| 五月婷婷视频在线观看 | 国产精品久久久久av | 久久久免费精品 | 欧美日本国产在线观看 | 最近高清中文在线字幕在线观看 | 久久国产精品99国产 | 久久99国产精品久久99 | 久久久久网站 | 欧美一级视频免费 | 最近中文字幕免费 | 亚洲成人精品 | 久久成人国产精品入口 |