免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 817 | 回复: 0
打印 上一主题 下一主题

Spring AOP 我的简单测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-31 22:51 |只看该作者 |倒序浏览
关于AOP我只知道它是干嘛的,对于它的原理我是很迷糊的
为了理解它,就先写了一个简单的测试
把Spring的类库放到ClassPath里
首先要写一个接口,因为我测试的代理目标是接口,所以我要先写出一个接
//SayHello.java                 
package com.aop                 
public interface SayHello {     
    void hello();               
}
然后给出它的一个实现
//SayHelloImpl.java                                 
package com.aop                                    
public class SayHelloImpl implements SayHello {     
    public void hello()                             
    {                                               
        System.out.println("Hello method invoked!");
    }                                               
}                                                   
下面就要写出一个实现了MethodBeforeAdvice接口的类来实现AOP
//MethodBeforeSayHello.java                                       
package com.aop;                                                   
import java.lang.reflect.Method;                                   
import org.springframework.aop.MethodBeforeAdvice;                 
public class MethodBeforeSayHello implements MethodBeforeAdvice {  
public void before(Method arg0, Object[] arg1, Object arg2)      
   throws Throwable {                                             
  System.out.println("This is the method before hello() method!");

}                                                                 
}                                                                  
配置一下XML





  
   com.aop.SayHello
  
  
   
    methodBefore
   
  
  
   
  


然后写一个测试类测试一下,假设我把这个XML文件放到C盘目录下
package com.aop;                                                            
import org.springframework.beans.factory.BeanFactory;                        
import org.springframework.beans.factory.xml.XmlBeanFactory;                 
import org.springframework.core.io.FileSystemResource;                       

public class SimpleTest {                                                   
public static void main(String[] args)                                      
{                                                                           
  String filePath="c:\\applicationContext.xml";//这里就是XML文件绝对路径        
  BeanFactory factory = new XmlBeanFactory(new FileSystemResource(filePath));
  SayHello say = (SayHello)factory.getBean("sayHello");                     
  say.hello();                                                               
}                                                                           
}                                                                           

输出结果是
This is the method before hello() method!
hello method invoked!


//SayHello.java
package com.aop
public interface SayHello {
    void hello();
}
//SayHello.java
package com.aop
public interface SayHello {
    void hello();
}


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/63740/showart_513217.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP