Spring注入aspectJ切面

时间:2014-07-06 22:33:19   收藏:0   阅读:392

1、用关键字aspect即可声明一个切面如:

          bubuko.com,布布扣

         切面定义完毕,可以发现,pointcut被当做一个类型,指定切点还是用execution表达式;after()和returning()也被当做一个类型来声明一个通知

2、在JudgeAspect中有一个CriticismEngine类型的成员变量,为了实现对象间的松耦合,我们在aspectJ中使用Spring的依赖注入来为JudgeAspect注入CriticismEngine对象。首先将CriticismEngine声明为bean,然后再将JudgeAspect声明为bean,注意在声明JudgeAspect bean时,要用如下格式:

           bubuko.com,布布扣

要为bean指定一个factory_method来创建Aspect的bean。因为Aspect对象不是有Spring来创建的,而是由JVM在运行时创建的,等Spring容器能创建Aspectbean的时候,Aspect对象已经被实例化了,不用再创建新对象,而Aspect类中有一个静态的Aspectof()的方法,可以返回切面的一个单例,所以我们用高factory-method来代替JudgeAspect的构造方法。

Spring注入aspectJ切面,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!