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

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

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


    posts - 10,comments - 4,trackbacks - 0

    接口修改為
    package net.blogjava.dodoma.spring.aop;

    public interface HelloI {
    ?public String sayHello(String firstName,String lastName)throws Exception;
    ?}

    類修改為
    package net.blogjava.dodoma.spring.aop;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;

    public class Hello implements HelloI {
    ?protected static final Log log=LogFactory.getLog(Hello.class);
    ?private String msg;
    ?public Hello(){}
    ?public Hello(String msg){
    ??this.msg=msg;
    ?}
    ?
    ?public String getMsg() {
    ??return msg;
    ?}
    ?public void setMsg(String msg) {
    ??this.msg = msg;
    ?}
    ?public String sayHello(String firstName, String lastName) throws Exception{
    ??// TODO Auto-generated method stub
    ??log.info("in the class "+this.getClass().getName()+"'s method sayHello()");
    ? throw new Exception("here is a exception !");
    ??return (msg+" "+firstName+" "+lastName);
    ?}
    }



    package net.blogjava.dodoma.spring.aop;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.aop.ThrowsAdvice;

    public class LogThrowAdvice implements ThrowsAdvice {
    ?protected static final Log log = LogFactory.getLog(LogThrowAdvice.class);
    ?public void afterThrowing(Exception e)throws Throwable{
    ??log.info("in the class "+this.getClass().getName()+"'s method afterThrowing()");
    ??log.info("the exception is "+e.getMessage());
    ?}
    }


    package net.blogjava.dodoma.spring.aop;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.springframework.aop.framework.ProxyFactory;
    import org.springframework.beans.factory.BeanFactory;
    import org.springframework.beans.factory.xml.XmlBeanFactory;
    import org.springframework.core.io.ClassPathResource;
    import org.springframework.core.io.Resource;

    public class HelloTest {
    ?protected static final Log log = LogFactory.getLog(HelloTest.class);

    ?/**
    ? * @param args
    ? * @throws Exception
    ? */
    ?public static void main(String[] args) throws Exception {
    ??// TODO Auto-generated method stub
    ??Resource rs = new ClassPathResource("beans.xml");
    ??BeanFactory bf = new XmlBeanFactory(rs);

    ??HelloI h = (HelloI) bf.getBean("theBean");
    ??log.info("starting...");
    ??try {
    ???log.info(h.sayHello("ma", "bin"));
    ??} catch (Exception e) {
    ???e.printStackTrace();
    ??}
    ??log.info("end...");
    ??
    ??
    ??ProxyFactory factory=new ProxyFactory();
    ??factory.addAdvice(new LogThrowAdvice ());
    ??factory.setTarget(new Hello("hello"));
    ??try{
    ??HelloI hi=(HelloI)factory.getProxy();
    ??hi.sayHello("ma","bin");}
    ??catch(Exception e){e.printStackTrace();}
    ?}

    }

    posted on 2006-03-28 12:57 dodoma 閱讀(243) 評論(0)  編輯  收藏 所屬分類: spring
    主站蜘蛛池模板: 7723日本高清完整版免费| 中文字幕成人免费高清在线视频| 99久久免费精品视频| 亚洲精品二区国产综合野狼| 色偷偷亚洲第一综合| 全免费a级毛片免费**视频| 亚洲国产成+人+综合| 美女裸身网站免费看免费网站| 亚洲欧洲精品一区二区三区| 最近2018中文字幕免费视频 | 黄色网址在线免费| 亚洲动漫精品无码av天堂| a级日本高清免费看| 亚洲狠狠久久综合一区77777| 久久免费视频99| 亚洲日本在线观看网址| 黄色成人网站免费无码av| 亚洲色欲色欲www在线播放| 暖暖日本免费在线视频| 看一级毛片免费观看视频| 亚洲中文字幕丝袜制服一区| 久久精品成人免费国产片小草| 亚洲AV永久无码区成人网站| 免费播放一区二区三区| 亚洲一区无码中文字幕乱码| 午夜dj免费在线观看| 美女免费视频一区二区| 亚洲日韩国产精品第一页一区 | 国产福利视精品永久免费| 亚洲天堂免费在线| 免费a级毛片无码av| 免费无码av片在线观看| 亚洲欧洲日产专区| 日本一区免费电影| 久久久久久久国产免费看| 亚洲精品美女久久久久| 国产精品免费_区二区三区观看| xxxxx做受大片视频免费| 色婷婷亚洲十月十月色天| 成人毛片视频免费网站观看| 一级特黄录像免费播放中文版|