<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2EE之巔

     

    Spring2 AOP在使用XML配置時(shí)如何獲得target及JoinPoint

    蔡超

    SCEA , MCSD , IBM RUP Specialist

    Spring Reference 中介紹如何在采用 @AspectJ 方式在剖面中如何獲取 target JoinPoint 并給出了示例,但并沒(méi)有給出采用 XML 配置方式時(shí)介紹及示例,下面附上一個(gè)簡(jiǎn)單的小例子供大家參考。

    package aop;

    ?

    import org.aspectj.lang.JoinPoint;

    import org.aspectj.lang.ProceedingJoinPoint;

    ?

    /**

    ?* @author Administrator

    ?*

    ?* TODO To change the template for this generated type comment go to

    ?* Window - Preferences - Java - Code Style - Code Templates

    ?*/

    public class LogAdvice1 {

    ?????? public void log(JoinPoint jp,MathImp imp){

    ?

    ????????????? System.out.println("log:"+imp+" "+jp.toLongString());

    ?????????????

    ?????? }

    }

    ?

    /*

    ?* Created on 2006-11-1

    ?*

    ?* TODO To change the template for this generated file go to

    ?* Window - Preferences - Java - Code Style - Code Templates

    ?*/

    package aop;

    ?

    /**

    ?* @author Administrator

    ?*

    ?* TODO To change the template for this generated type comment go to

    ?* Window - Preferences - Java - Code Style - Code Templates

    ?*/

    public class MathImp /*implements Math*/{

    ?

    ?????? /* (non-Javadoc)

    ?????? ?* @see aop.Math#add(int, int)

    ?????? ? */

    ?????? public void add(int op1, int op2) {

    ????????????? // TODO Auto-generated method stub

    ?????????????

    ?????? }

    ?

    ?????? /* (non-Javadoc)

    ?????? ?* @see aop.Math#addtest(int, int)

    ?????? ?*/

    ?????? public void addtest(int op1, int op2) {

    ????????????? // TODO Auto-generated method stub

    ?????????????

    ?????? }

    ?

    ?????? /* (non-Javadoc)

    ?????? ?* @see aop.Math#sub(int, int)

    ?????? ? */

    ?????? public void sub(int op1, int op2) {

    ????????????? // TODO Auto-generated method stub

    ?????????????

    ?????? }

    ?

    }

    ?

    配置:

    <beans xmlns="http://www.springframework.org/schema/beans"

    ????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    ????? xmlns:aop="http://www.springframework.org/schema/aop"

    ????? xsi:schemaLocation="

    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">

    ?

    ?? <!-- this is the object that will be proxied by Spring's AOP infrastructure -->

    ?? <bean id="mathImp" class="aop.MathImp"/>

    ?

    ?? <!-- this is the actual advice itself -->

    ?? <bean id="logger" class="aop.LogAdvice1"/>

    ?

    ?? <aop:config>

    ????? <aop:aspect ref="logger">

    ?

    ???????? <aop:pointcut id="addLog"

    ??????????????????? expression="execution(* aop.MathImp.*(..)) and target(imp) and JoinPoint(jp)"? />

    ?

    ???????? <aop:before pointcut-ref="addLog"

    ????????????????? method="log" arg-names="jp,imp" />

    ?

    ????? </aop:aspect>

    ?? </aop:config>

    ?

    </beans>

    測(cè)試

    package aop;

    ?

    import org.springframework.context.support.AbstractApplicationContext;

    import org.springframework.context.support.FileSystemXmlApplicationContext;

    ?

    /**

    ?* @author Administrator

    ?*

    ?* TODO To change the template for this generated type comment go to

    ?* Window - Preferences - Java - Code Style - Code Templates

    ?*/

    public class Test {

    ?

    ?????? public static void main(String[] args) {

    ????????????? AbstractApplicationContext context=new FileSystemXmlApplicationContext("aop2.xml");

    ????????????? //Math math=(Math) context.getBean("math");

    ????????????? MathImp math=(MathImp) context.getBean("mathImp");

    ????????????? math.add(1,2);

    ????????????? math.addtest(3,4);

    ????????????? math.sub(5,6);

    ?????? }

    }

    posted on 2007-02-26 17:57 超越巔峰 閱讀(3946) 評(píng)論(1)  編輯  收藏 所屬分類: Java EE

    評(píng)論

    # re: Spring2 AOP在使用XML配置時(shí)如何獲得target及JoinPoint 2007-03-30 18:45 itspy

    good!!!  回復(fù)  更多評(píng)論   

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(12)

    隨筆分類(54)

    隨筆檔案(59)

    文章分類(2)

    文章檔案(1)

    相冊(cè)

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 免费A级毛片在线播放不收费| 亚洲高清视频免费| 亚洲国产高清视频在线观看| 国产免费131美女视频| 日韩在线永久免费播放| 亚洲a∨国产av综合av下载| 亚洲精品成人av在线| 国产亚洲成归v人片在线观看| 黄色视屏在线免费播放| 亚洲AV无码专区国产乱码不卡| 午夜免费福利影院| 日本免费一区二区三区四区五六区 | 免费A级毛片av无码| 免费手机在线看片| 久久亚洲精品11p| 亚洲午夜精品在线| 亚洲精品国产手机| 亚洲AV无码国产精品色午友在线| 国产精品99精品久久免费| 亚洲午夜久久久久久噜噜噜| 国产精品无码一区二区三区免费| 久久免费香蕉视频| 农村寡妇一级毛片免费看视频| 国产成人精品日本亚洲网站| 亚洲精品一级无码中文字幕| 国产jizzjizz免费视频| 日本免费一区尤物| 在线观看免费精品国产| 日韩精品视频免费网址| 女人被弄到高潮的免费视频| 国内免费高清在线观看| 国产福利在线免费| 国产a视频精品免费观看| 免费A级毛片无码A∨免费| 在线观看免费中文视频| 伊人久久免费视频| 亚洲成人在线免费观看| 91久久成人免费| 100000免费啪啪18免进| 成人爽A毛片免费看| 成人免费在线观看网站|