注册
 找回密码
 注册
江西广告网
查看: 209|回复: 0
打印 上一主题 下一主题

AspectJ

[复制链接]

该用户从未签到

1
跳转到指定楼层
发表于 2009-2-9 09:47:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在作用AspectJ标签代理时,出了点问题,找了好久才知道答案, 先看看我的代码: Waiter.java package cn.kingfengks.aspectJaop; public interface Waiter { void greetTo(String name); void serveTo(String name); } NaiveWaiter.java package cn.kingfengks.aspectJaop; public class NaiveWaiter implements Waiter { public void greetTo(String name) { System.out.println("greet to " name "..."); } public void serveTo(String name) { System.out.println("serving to " name "..."); } public void print(){ System.out.println("I am a Waiter!"); } } PreGreetingAspect .java package cn.kingfengks.aspectJaop; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; @Aspect public class PreGreetingAspect { @Before("execution(* greetTo(..))") public void beforGreeting(){ System.out.println("How are you !"); } } 问题就出在主函数上如下面: //一定要用ApplicationContext才可以用 //原来用的是下面这样的,怎么样都没办法自动代理 //Resource res = new ClassPathResource("cn/kingfengks/aop/advisor/applicationContext_aop.xml"); //BeanFactory bf = new XmlBeanFactory(res); ApplicationContext ctx = new ClassPathXmlApplicationContext("cn/kingfengks/aspectJaop/applicationContext.xml"); Waiter waiter = (Waiter)ctx.getBean("waiter"); waiter.greetTo("John"); 原因是:ApplicationContext派生于BeanFactory,而加入了很多的面向应用的功能,.曾有人这样比喻这2者之间的关系,如果BeanFactory是Spring的心脏那么ApplicationContext就是Spring的五脏六腑和躯干四肢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表