首页 > 代码库 > Spring 开发第一步(二)
Spring 开发第一步(二)
今天继续学习《Spring in action 3rd》并运行书中的例子,到了第4章aop,是加入一个作为切面的Audience类,将Performer的perform()方法座位切点来进行切入。
相关代码:
<aop:aspect ref="audience"> <aop:pointcut id="performance" expression="execution(* com.springinaction.springidol.Performer.perform(..))" /> <aop:before pointcut-ref="performance" method="takeSeats"/> <aop:before pointcut-ref="performance" method="turnOffCellphone"/> <aop:after-returning pointcut-ref="performance" method="applaud"/> <aop:after-throwing pointcut-ref="performance" method="demandRefund"/> </aop:aspect>
package com.springinaction.springidol;public class Audience { public void takeSeats(){ System.out.println("The audience is taking their seats."); } public void turnOffCellphone(){ System.out.println("The audience is turning off their cellphones."); } public void applaud(){ System.out.println("CLAP CLAP CLAP CLAP."); } public void demandRefund(){ System.out.println("Boo! We want out money back!"); }}
这样在测试的时候报以下2个错误:
java.lang.NoClassDefFoundError:org/aopalliance/aop/Advice
java.lang.NoClassDefFoundError: org/aspectj/weaver/BCException
我们需要在之前导入的spring-framework-3.2.11.RELEASE-dist.zip基础上,再导入com.springsource.org.aopalliance-1.0.0.jar、aspectj-1.6.13.jar两个包。它们都可以在各自的官方网站上下载。
特别的是,直接导入aspectj-1.6.13.jar是不行的,需要将其解压缩,然后将解压出来的aspectjrt.jar、aspectjtools.jar、aspectjweaver.jar、org.aspectj.matcher.jar导入eclipse项目中即可,如下图所示。
Spring 开发第一步(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。