j2ee项目实训spring框架技术——第7章springaop中的advice通知第1部分内容摘要:
xyCreator class= property name=beanNames valueuserInfoManageBean,bbsInfoManagerBean/value /property property name=interceptorNames list valuecustomExceptionAdvice/value valuewebBBSInfoBeforeAdvisor/value valueuserInfoAfterReturningAdvisor/value valueuserInfoAroundAdviceAdvisor/value /list /property /bean 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 7/16 页 在本项目中应用了 Spring 框架 中实现“自动代理”功能的 BeanNameAutoProxyCreator组件类, BeanNameAutoProxyCreator 组件能够实现 根据 名字匹配字符串或者通配符匹配 方式 的 Bean 组件 对象实例自动创建 AOP 代理。 对该 Around 通知进行单元测试以测试其功能是否正确地实现 ( 1)在下面的图 中所示的 代码 是以测试数据库表中存在的某个用户名称(本测试时选择为“张三”)进行注册 图 故意以数据库表已经存在的用户 帐号进行注册 ( 2) 以下面的图 中所示的操作状态, 启动并执行项目中的 对 业务组件接口UserInfoManageInterface 的 测试用例 TestUserInfoManageImple。 图 启动并执行项目中的 TestUserInfoManageImple 测试用例 ( 3) TestUserInfoManageImple 测试用例的执行结果 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 8/16 页 当 以测试数据库表中存在的某个用户名称进行注册 时 ,则出现下面的 图 中所示的错误 提示。 图 以数据库表中存在的某个用户名称进行注册时将出现错误 提示 ( 4)而如果改变为在 测试 数据库表中没有的用户名称(本测试时选择为 “ abcd”并请见下面的图 中所示的代码 ) 图 改变为在数据库表中没有的用户帐号进行注册 ( 5) 再次执行 TestUserInfoManageImple 测试用例 其 执行 的 结果 请见下面的图 中所示的结果 ,在下面的图 中发现没有出现错误(本次测试为了简化执行过程,临时屏蔽了测试用例中的其它的测试方法)。 图 改变为在数据库表中没有的用户帐号进行注册时将不出现错误 根据前面的图 和图 中的正反两种状态的测试 结果表明,前面所设计的 Around通知组件类 UserInfoAroundAdvice作为 拦截器已经对 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/16 页 的 业务接口 UserInfoManageInterface 内 的 doUserRegister 方法进行了 拦截,并控制了 其执行的过程 和达到了既定的设计目标。 实现 前置 ( Before) 和 后 置 ( After) 通知 开发者经常需要在 应用系统中 实现 “方法跟踪” 的功能,而所谓的 “方法跟踪”是指捕获一个目标应用系统 中 所跟踪的方法的调用以及 这些 方法的返回值,并以某种方式显示出这 些 跟踪 的结果信息。 在 Spring 框架的 AOP 技术实现 中,前置( Before)通知和后置( After)通知类型常用于捕获这些类型的连接点,因为这两种通知可以在方法调用的连接点之前或之后被触发。 通过前置通知显示正在被捕获的目标的方法,而再通过后置通知将被捕获的目标方法的执行结果或者状态显示输出。 Before 通知 的实现及应用示例 接口 ( 1) MethodBeforeAdvice 接口的定义 在 Spring 框架 中 要 实现 和应用 前置 通知,只需要对 Spring 框架 AOP 中的 接口进行实现 , 并重写其中的 before 方法。 下面的 【例 7– 4】中所示 的代码 为 MethodBeforeAdvice 接口的定义。 【例 7– 4】 MethodBeforeAdvice 接口的定义 示例 public interface MethodBeforeAdvice extends BeforeAdvice { void before(Method targetMethod, Object[] methodArgs, Object targetClass) throws Throwable。 } 在接口 MethodBeforeAdvice 中只有一个方法 before 需要实现并请 注意其返回值的类型是 void,它定义了 前置通知 所应该实现的行为,而该 前置通知 是在被调用的目标方法开始执行前被执行的。 ( 2)对接口 MethodBeforeAdvice 中的 before 方法中的各个参数的说明 before 方法共有三个参数,它们提供了相当丰富的与被捕获的目标方法有关的信息。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 10/16 页 参数 Method targetMethod 也就是所要监视或者捕获的目标方法 开发者利用该参数可以获得被捕获的目标方法的名称,从而可以用作判断是否要执行目标通知 Advice 代码的前题条件或者作为状态信息中的一个重要的名称信息。 Object[] methodArgs 是传给所要监视或者捕获的目标方法的参数数组 当需要进行日志记录功能实现时,参数 m。j2ee项目实训spring框架技术——第7章springaop中的advice通知第1部分
相关推荐
1、目 录摘 要 .1 引言 .路原理图 .作原理 .件参数选择 .计流程 .的 3D 显示 .装与调试 . 理论分析 . 实际调试过程 .论 .谢 . 要自动水满报警器是当今运用十分广泛的报警器产品,在消防部门,公司安全和人 们的日常生活都发挥着重要的作用。 该电路 设计方法颇多,但其功能都是唯一的,实现水满后自动报警,而工作原理,分析方法,电路调试等都根据具体电路而定
1、 论 文专 业: 班级学号: 学生姓名: 指导教师: 天津工程师范学院本科生毕业设计路的研究及在信号产生中的应用LL 要摘要:随着科学技术的发展,锁相环于其在通讯、航海、军事等发面的广泛应用,研究锁相环电路的特性有助于了解和提高锁相环电路的性能指标,使其在各领域得到更为广泛的应用和推广,其具有很强的实际应用价值。 本设计基于数字锁相环式频率合成技术,采用控制单片机改变频率
1、第 1 页 共 18 页液体点滴速度监控装置摘要 该装置实时地监测液体点滴速度,通过单片机对信息的分析和处理,由主机发出相应的指令,调整系统的工作平稳,构成了一个高性能的闭环控制系统。 实现了对点滴输液速度的直观监测,同时对一些异常情况的出现可实施报警。 利用该装置还能通过主控平台对各个分立系统信息实施自动化、智能化的集中处理。 能方便、简易的操作和使用,对医疗具有很强的实用性。 关键词
1、智能电力线载波电话系统1智能电力线载波电话系统谢宝森(光 01)罗广君(微 02)赖文辉(微 02)摘要 本文介绍一种新型的智能电力线载波电话系统的研制方案,该设计采用 89个系统达到智能化。 系统避开了现代电话通信的路由问题,利用了单片机的强大功能对整个系统进行控制进行信道的控制,使得设备简单、轻便。 在传输载体上,利用了四通八达的电力线进行传输,为通话提供了极大的便利。
1、汇诚科技 :本说明书中添加超链接的按 点击连接,即可看到内容。 一、 131 条指令 大多数指令执行时间为单个时钟周期 32 个 8 位通用工作寄存器 全静态工作 工作于 16 性能高达 16 只需两个时钟周期的硬件乘法器 16K 字节的系统内可编程 写寿命 : 10,000 次 具有独立锁定位的可选 码区 通过片上 序实现系统内编程 正的同时读写操作 512 字节的 写寿命 : 100
1、汇诚科技 :本说明书中添加超链接的按 点击连接,即可看到内容。 一、 131 条指令 大多数指令执行时间为单个时钟周期 32 个 8 位通用工作寄存器 全静态工作 工作于 16 性能高达 16 只需两个时钟周期的硬件乘法器 16K 字节的系统内可编程 写寿命 : 10,000 次 具有独立锁定位的可选 码区 通过片上 序实现系统内编程 正的同时读写操作 512 字节的 写寿命 : 100