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

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

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

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    spring AspectJ 基本使用

    Posted on 2008-05-08 10:08 G_G 閱讀(4329) 評論(1)  編輯  收藏 所屬分類: SpringAOP
    我的aop 基礎(chǔ)
    spring 實際使用 (這就使用一個例子說明)

    測試類以及結(jié)果:
    package?unit;

    import?org.springframework.context.ApplicationContext;
    import?org.springframework.context.support.ClassPathXmlApplicationContext;

    import?bean.HelloService;

    public?class?Main?{
    ????
    public?static?void?main(String[]?args)?{
    ???????????ApplicationContext?context?
    =?new?ClassPathXmlApplicationContext(??????
    ???????????????????
    "beans.xml");????
    ???????????HelloService?service?
    =?(HelloService)?context.getBean("helloService");????
    ???????????service.annotationAop();
    ???????????
    ???????????System.out.println();
    ???????????
    ???????????service.xmlAop();
    ???????????
    ????}
    }
    結(jié)果:
    ?annotationAop//正常方法運行
    aop--AspectJ!?//
    annotation攔截

    ?xmlAop?
    //正常方法運行
    ?aop--XmlAop! //配置攔截



    use jar
    • --aspectjrt.jar
    • --aspectjweaver.jar
    • --acglib-nodep-2.1_3.jar
    • --commons-logging.jar
    • --spring.jar
    • --spring-aspects.jar
    XML配置
    <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.xsd?????????
    ???????????????????http://www.springframework.org/schema/aop?????????
    ???????????????????http://www.springframework.org/schema/aop/spring-aop.xsd"
    >
    ????????
    ????????
    <!--?測試使用類?分別由?方法?annotationAop/xmlAop?-->
    ????????
    <bean?id="helloService"???????
    ????????????class
    ="bean.HelloService"/>????
    ????????
    ????????????
    ????????
    <!--?annotation?aop?攔截?使用@Aspect?
    ????????????@Pointcut("execution(*?annotationAop(..))")??
    ????????????@AfterReturning("mainMethod()")??
    ????????
    -->
    ????????
    <bean?id="xmlAop"?
    ????????????class
    ="aop.AnnotationAspectJ"/>
    ????????
    <aop:aspectj-autoproxy/>????
    ????????
    ????????
    ????????
    <!--?xml?aop??配置文件攔截?-->
    ????????
    <bean?id="XmlAspectJ"???????
    ????????????class
    ="aop.XmlAspectJ"/>
    ????????
    <aop:config>?????
    ?????????????
    <aop:aspect?ref="XmlAspectJ">
    ?????????????????
    <aop:pointcut?id="mainMethod"?expression="execution(*?xmlAop(..))"/>????
    ?????????????????
    <aop:after-returning?pointcut-ref="mainMethod"?method="goXmlAop"/>?????
    ?????????????
    </aop:aspect>???
    ?????????
    </aop:config>????
    ????????????
    </beans>

    HelloService.java
    package?bean;

    public?class?HelloService?{??
    ????
    public?void?annotationAop()?{????
    ????????System.out.println(
    "?annotationAop?");
    ????}
    ????
    ????
    public?void?xmlAop(){
    ????????System.out.println(
    "?xmlAop?");
    ????}
    }

    AnnotationAspectJ.java
    package?aop;

    import?org.aspectj.lang.annotation.AfterReturning;
    import?org.aspectj.lang.annotation.Aspect;
    import?org.aspectj.lang.annotation.Pointcut;

    @Aspect
    public?class?AnnotationAspectJ?{??
    ????@Pointcut(
    "execution(*?annotationAop(..))")??
    ????
    public?void?mainMethod()?{}??
    ????
    ????@AfterReturning(
    "mainMethod()")??
    ????
    public?void?sayHello()?{????
    ????????System.out.println(
    "aop--AspectJ!");??
    ????}
    }

    XmlAspectJ.java
    package?aop;

    public?class?XmlAspectJ?{
    ????
    public?void?goXmlAop(){
    ????????System.out.println(
    "?aop--XmlAop!?");
    ????}
    }














    評論

    # re: spring AspectJ 基本使用  回復(fù)  更多評論   

    2009-12-13 14:12 by 什么玩意亂糟糟的
    你寫的這是什么啊
    主站蜘蛛池模板: 国产婷婷高清在线观看免费| 免费人成在线观看69式小视频| 大学生一级特黄的免费大片视频| 久久亚洲AV成人出白浆无码国产| 最近国语视频在线观看免费播放| 国产亚洲成人久久| 乱淫片免费影院观看| 亚洲三区在线观看无套内射| 青青操免费在线视频| 亚洲一卡2卡三卡4卡有限公司| 最近中文字幕免费完整| 亚洲an日韩专区在线| 在线观看91精品国产不卡免费| 国产成人综合亚洲一区| 一本久久a久久精品亚洲| 久久久久久av无码免费看大片| 亚洲成在人线av| 国产人成免费视频网站| 亚洲色成人网站WWW永久四虎 | 猫咪免费观看人成网站在线| 亚洲国产精品一区二区第四页| 亚洲黄片手机免费观看| 久久综合日韩亚洲精品色| 中文毛片无遮挡高潮免费| 亚洲av最新在线观看网址| 亚洲精品456播放| 久久国产精品萌白酱免费| 亚洲国产激情在线一区| 日韩精品成人亚洲专区| 四虎影视无码永久免费| 亚洲国产精品成人精品小说| 国产伦一区二区三区免费| 成人免费777777被爆出| 亚洲ts人妖网站| 精品国产亚洲男女在线线电影 | 亚洲综合日韩久久成人AV| 亚洲免费观看视频| 亚洲最大中文字幕无码网站| 久久久久无码专区亚洲av| 日韩在线播放全免费| 有色视频在线观看免费高清在线直播 |