大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 三種AOP的實現方式

三種AOP的實現方式

更新時間:2022-10-26 09:33:13 來源:動力節點 瀏覽1714次

AOP的實現方式有三種:

1.使用Spring的API接口(主要是SpringAPI接口實現)

2.自定義實現AOP(主要是切面定義,自定義類)

3.使用注解實現

<?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:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       https://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/aop
       https://www.springframework.org/schema/aop/spring-aop.xsd">
    <!--    <bean id="user" class="com.bing.pojo.User" p:name="cb" p:age="23"></bean>-->
<!--注冊成bean-->
    <bean id="UserService" class="com.bing.service.UserServiceImpl"></bean>
    <bean id="log" class="com.bing.log.Log"></bean>
    <bean id="afterlog" class="com.bing.log.AfterLog"></bean>
<!--&lt;!&ndash;    方式一:使用原生spring API接口&ndash;&gt;-->
<!--&lt;!&ndash;    配置aop&ndash;&gt;-->
<!--    <aop:config>-->
<!--&lt;!&ndash;        需要一個切入點,即我們需要在哪個地方執行方法 exe: 返回值 類名 方法名 參數&ndash;&gt;-->
<!--        <aop:pointcut id="pointcut" expression="execution(* com.bing.service.UserServiceImpl.*(..))"/>-->
<!--        &lt;!&ndash;    執行環繞增加&ndash;&gt;-->
<!--&lt;!&ndash;把log類切入到pointcut方法上面&ndash;&gt;-->
<!--        <aop:advisor advice-ref="log" pointcut-ref="pointcut"></aop:advisor>-->
<!--        <aop:advisor advice-ref="afterlog" pointcut-ref="pointcut"></aop:advisor>-->
<!--    </aop:config>-->
<!--    方式二 自定義類 用切面,是一個類-->
<!--    <bean id="diy" class="com.bing.diy.DiyPointCut"/>-->
<!--         <aop:config>-->
<!--&lt;!&ndash;             自定義切面, 引入diy類&ndash;&gt;-->
<!--              <aop:aspect ref="diy" >-->
<!--                  <aop:pointcut id="point" expression="execution(* com.bing.service.UserServiceImpl.*(..))"/>-->
<!--                  &lt;!&ndash;有切面類就有通知了,就是有方法了&ndash;&gt;-->
<!--                  <aop:before method="before" pointcut-ref="point"/>-->
<!--                  <aop:after method="after" pointcut-ref="point"/>-->
<!--              </aop:aspect>-->
<!--         </aop:config>-->
<!--    方式三-->
    <bean id="annotationPointCut" class="com.bing.diy.AnnotationPointCut"></bean>
<!--    開啟注解支持 自動代理-->
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>
//方法一、二
package com.bing.diy;
public class DiyPointCut {
    public void before(){
        System.out.println("執行前");
    }
    public void after(){
        System.out.println("執行后");
    }
}
//方法三(注解)
package com.bing.diy;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
//使用注解直接將其類標記成切面
@Aspect
public class AnnotationPointCut {
//Before里面寫切入點
    @Before("execution(* com.bing.service.UserServiceImpl.*(..))")
    public void before(){
        System.out.println("方法執行前");
    }
    @After("execution(* com.bing.service.UserServiceImpl.*(..))")
    public void after(){
        System.out.println("方法執行后");
    }
    //在環繞增強中,我們可以給定一個參數,代表我們要處理切入的點
    @Around("execution(* com.bing.service.UserServiceImpl.*(..))")
    public void around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
        System.out.println("環繞前");
        //執行方法,過濾
        Object proceed = proceedingJoinPoint.proceed();
        System.out.println("環繞后 ");
    }
}

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 老子影院我不卡 | 国产精品免费大片一区二区 | 日欧毛片| 国产黄毛片| 日本欧美在线观看 | 日本欧美强乱视频在线 | 一本大道久久a久久综合 | 欧美高清亚洲欧美一区h | 免费网站成人亚洲 | 一区二区免费看 | 91亚洲精品久久 | 日本在线视频不卡 | 久久久成人啪啪免费网站 | 亚洲尹人香蕉网在线视颅 | 亚洲性夜夜综合久久麻豆 | 欧美乱淫视频 | xxxxbbbb欧美 | 亚洲婷婷在线 | 情趣视频网站在线观看 | 337p日本大胆欧洲色噜噜高清 | 国产成人91精品 | 奇米影视久久777中文字幕 | 免费xxx| 亚洲综合色区图片区 | 草草影院第一页yycccom | 在线视频日韩 | 暗香影院午夜国产精品 | 成人小视频在线播放 | 久久毛片视频 | 精品国产一区二区二三区在线观看 | 久久99热这里只有精品7 | 黄色毛片视频 | 色综合色综合色综合色综合 | 日韩成人在线网站 | 日韩欧美精品有码在线观看 | 免费国产午夜在线观看 | 97福利在线 | 成人免费高清 | 男人叼女人的痛爽视频免费 | 国内精品福利视频 | 四虎永久在线精品免费影视 |