码迷,mamicode.com
首页 > 编程语言 > 详细

Spring 开发第一步(二)

时间:2014-10-27 22:57:52      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   java   for   sp   

    今天继续学习《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项目中即可,如下图所示。

bubuko.com,布布扣

 

Spring 开发第一步(二)

标签:style   blog   http   io   color   ar   java   for   sp   

原文地址:http://www.cnblogs.com/lyhero11/p/4055348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!