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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    Before Advice:
    package com.hwp.aop.adviceDemo;

    import java.lang.reflect.Method;

    import org.springframework.aop.MethodBeforeAdvice;

    public class BeforeAdviceDemo implements MethodBeforeAdvice {

        
    public void before(Method method, Object[] args, Object target)
                
    throws Throwable {
            System.out.println(
    "在方法運行前,先運行");
        }

        
    }

    After Advice:
    package com.hwp.aop.adviceDemo;

    import java.lang.reflect.Method;

    import org.springframework.aop.AfterReturningAdvice;

    public class AfterAdviceDemo implements AfterReturningAdvice{

        
    public void afterReturning(Object arg0, Method arg1, Object[] arg2,
                Object arg3) 
    throws Throwable {
            System.out.println(
    "方法執行后.");
            
        }

        
    }

    Round Advice:
    package com.hwp.aop.adviceDemo;

    import org.aopalliance.intercept.MethodInterceptor;
    import org.aopalliance.intercept.MethodInvocation;

    public class AroundAdviceDemo implements MethodInterceptor {

        
    public Object invoke(MethodInvocation arg0) throws Throwable {
            System.out.println(
    "在round方法里,方法開始前..");
            Object result 
    = null;
            
    try {
                result 
    = arg0.proceed();
            }
     finally {
                System.out.println(
    "在round方法里,方法結束后");
            }

            
    return result;
        }


    }

    Throw Advice:
    package com.hwp.aop.adviceDemo;

    import java.lang.reflect.Method;

    import org.springframework.aop.ThrowsAdvice;

    public class ThowAdviceDemo implements ThrowsAdvice {
        
    public void afterThrowing(Method method, Object[] args, Object target,
                Throwable subclass) 
    {
            System.out.println(
    "異常拋出后..");
        }


    }

    beans.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation
    ="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"
    >
        
    <bean id="logBeforeAdvice"
            class
    ="com.hwp.aop.adviceDemo.BeforeAdviceDemo" />
        
    <bean id="logAfterAdvice"
            class
    ="com.hwp.aop.adviceDemo.AfterAdviceDemo" />
        
    <bean id="logRoundAdvice"
            class
    ="com.hwp.aop.adviceDemo.AroundAdviceDemo" />
        
    <bean id="throwAdvice"
            class
    ="com.hwp.aop.adviceDemo.ThowAdviceDemo" />
        
    <bean id="helloSpeaker" class="com.hwp.aop.adviceDemo.HelloSpeaker" />
        
    <bean id="helloProxy"
            class
    ="org.springframework.aop.framework.ProxyFactoryBean">
            
    <property name="proxyInterfaces"
                value
    ="com.hwp.aop.adviceDemo.IHello" />
            
    <property name="target" ref="helloSpeaker" />
            
    <property name="interceptorNames">
                
    <list>
                    
    <value>logBeforeAdvice</value>
                    
    <value>logAfterAdvice</value>
                    
    <value>logRoundAdvice</value>
                    
    <value>throwAdvice</value>
                
    </list>
            
    </property>
        
    </bean>
    </beans>
    Demo:
    package com.hwp.aop.adviceDemo;

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

    public class SpringAOPDemo {
        
    public static void main(String[] args){
            ApplicationContext context 
    = 
                
    new ClassPathXmlApplicationContext("beans-beforeAdvice.xml");
            IHello helloProxy 
    = (IHello) context.getBean("helloProxy");
            
    try{
                helloProxy.hello(
    "惠萬鵬");
            }
    catch(Exception e){
                
    //e.printStackTrace();
            }

        }

    }

    收工....

    posted on 2008-04-13 14:37 HUIKK 閱讀(947) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 亚洲国产成人久久精品动漫| 久久精品国产亚洲AV久| 99久久人妻精品免费二区| 亚洲永久中文字幕在线| 国产a级特黄的片子视频免费 | 国产做国产爱免费视频| 亚洲精品偷拍无码不卡av| 日韩电影免费在线| 精品免费久久久久国产一区| 亚洲一区免费在线观看| 亚洲无码视频在线| 四虎国产精品免费久久| 成在线人视频免费视频 | 一级毛片**不卡免费播| 亚洲精品无码久久久久秋霞| 亚洲日韩精品无码一区二区三区 | 久久亚洲精品AB无码播放| 处破痛哭A√18成年片免费| a级毛片免费播放| 亚洲av无码有乱码在线观看| 久久精品国产亚洲| 九月婷婷亚洲综合在线| 欧美a级成人网站免费| a级毛片高清免费视频就| 亚洲AV色无码乱码在线观看 | 亚洲av一本岛在线播放| 亚洲熟妇中文字幕五十中出| 日韩精品无码人妻免费视频 | 免费大黄网站在线观| 国国内清清草原免费视频99| 国产午夜无码精品免费看动漫| 亚洲AV无码一区二区三区电影 | 久久久国产亚洲精品| 亚洲国产人成在线观看69网站| 亚洲Av无码乱码在线播放| 最近2019中文字幕mv免费看| 无码专区AAAAAA免费视频| 国产免费人成视频在线播放播| 亚洲av午夜国产精品无码中文字| 91亚洲精品自在在线观看| 亚洲国产一区国产亚洲|