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项目中即可,如下图所示。

时间: 2024-10-10 15:11:05

Spring 开发第一步(二)的相关文章

Spring 开发第一步(三)Spring与JDBC

<spring in action 3rd>中的前面4章讲解的是Spring的核心,也就是DI/IOC和AOP .从第5章开始是Spring在企业开发中的各个方面的应用.其实作为笔者从事的企业计算来说,J2EE相关的最常见的内容就是如何持久化了,第5.6章讲的就是这方面的内容. 今天主要学习了Spring与JDBC开发. 一.配置数据源 首先我们需要配置数据源,在设置好context.xml后,我们将JDBC数据源配置到Spring: <jee:jndi-lookup id="

Spring 开发第一步

经过今天上午的学习发现spring上手开发一个"hello world"真的非常简单. 开发环境搭建: 1.去spring官网下载spring-framework-3.2.11.RELEASE-dist.zip .这里带dist的是二进制的jar包,不带dist的是源代码 2.eclipse下新建一个java项目,把上面的包解压后的jar都引用到项目里去,还要再引入一个commons-logging.jar不然会报日志logging factory找不到的错误. 运行<sprin

windows phone开发第一步:搭建软件开发环境

windows phone开发第一步:搭建软件开发环境:http://www.cnblogs.com/hanjun/archive/2012/10/09/2716669.html

spring学习第一步:导入项目至eclipse

第一步:下载安装gradle gradle下载地址:http://www.gradle.org/downloads 配置GRADLE_HOME到,将gradle的bin目录配置到系统环境变量的path中去.其实只需配置path不一定要配置GRADLE_HOME. 第二步:执行gradle 这步会经历很长时间,需耐心等待,执行也可能会出错,我遇到执行错误的情况,选择重新执行一次.第二次执行成功,大概花了2个小时. 首先打开cmd进入到spring源码目录,也就是以下目录: 然后执行命令gradle

JAVA开发第一步 - JDK安装与配置

JDK的安装与环境变量配置是JAVA开发之路的第一步,很多新人在这一步上就卡了很久,浪费了很多时间,甚至有些人就轻易地“从入门到放弃”了.今天我们就来一步步教你如何打倒这第一只拦路虎. 1.JDK下载 百度搜索jdk关键字,找到第一个英文的链接:     点进去后找到 JAVA SE 8u211,点击JDK下面的DOWNLOAD标志进入下一页. 注意这里,有很多人直接下载了最新版本的JAVA 12,实际上JAVA 12开始是收费的了,而且里面的绝大多数特性都是新手用不到的,JAVA 8已经完全够

python开发第一步

Python开发[第二篇]:初识Python Mr.Seven 博客园 首页 新随笔 联系 订阅 管理 随笔-127  文章-146  评论-393 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Pyt

maven版cxf集合spring开发服务端(二)

一.新建一个maven项目 二.pom.xml引入依赖 <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-api</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId

[安卓][地图] 1、高德或百度地图开发第一步(高手跳过)

>_<" 开发地图应用必须用地图供应商提供的API,这里我用了百度地图和高德地图,其流程基本上完全相似.关键点有三个: 一.申请KEY 二.下载提供商提供的API等资源 三.在工程里加载库 >_<" 具体详细过程可以参看他们的开发指南: 百度地图开发指南:http://developer.baidu.com/map/index.php?title=android-locsdk 高德地图开发指南:http://lbs.amap.com/api/android-sd

微信开发第一步—接入指南

一.开发前的准备 1.要有一个公网的地址空间(Azure,阿里云....) 2.自己定义一个Token(自己定义一个字符串就行,后面写代码时候也会用到) 3.信息在客户端,微信服务器,网站之间的处理过程 二.验证服务器地址的有效性 开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带四个参数: 参数 描述 signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数.nonce参数. timestamp 时