第3章 Spring的AOP实现
3.1 正则表达式简介
3.2 认识AOP
3.2.1 代理机制
3.2.2 AOP中的常用术语
3.3 传统的AOP支持
3.3.1 前置通知Before Advice
3.3.2 后置通知 After Advice
3.3.3 环绕通知 Around Advice
3.3.4 异常通知 Throw Advice
3.3.5 NameMatchMethodPointAdvisor
3.3.6 RegexpMethodPointcutAdvisor
3.3.7 DefaultPointcutAdvisor
3.3.8 引介
3.4 Spring 2.0中的AOP
3.4.1 Spring2.0中的Pointcut定义
3.4.2 基于XML Schema的前置通知
3.4.3 基于Annotation的前置通知
3.4.4 基于XML Schema的后置通知
3.4.5 基于Annotation的后置通知
3.4.6 基于XML Schema的环绕通知
3.4.7 基于Annotation的环绕通知
3.4.8 基于XML Schema的异常通知
3.4.9 基于Annotation的异常通知
3.4.10SpringAOP综合运用之超级玛丽完结篇
3.5 小结
试读部分:
3.4 Spring 2.0中的AOP
Spring2.0中除了支持3.3节中讲述的传统的AOP支持,还提供了2种实现AOP的方式:
1、基于XML的配置,使用基于Schema的XML配置来完成AOP,而且Advice也不用再实现任何其他特定的接口。
2、使用JDK5的注释来完成AOP的实现,只需要一个简单的标签就完成了AOP的整个过程。
3.4.1 Spring2.0中的Pointcut定义
Spring2.0中的切入点Pointcut的定义有2种方式,表达式配置和Annotation配置,下面具体讲解。
1、表达式
Spring2.0中的Pointcut的定义支持的关键字有:execution(方法执行的连接点,
这是 Spring 中最主要的切入点指定者),within(限定匹配特定类型的连接点),this(连接点本身),target(连接点目标对象),arg(连接点参数)等,表达式的定义如下格式:
execution(modifiers-pattern?
ret-type-pattern
declaring-type-pattern?
name-pattern(param-pattern)
throws-pattern?)
有“?”号的部分表示可省略的,modifers-pattern 表示修饰符如 public、protected 等,
ret-type-pattern 表示方法返回类型,declaring-type-pattern 代表特定的类,name-pattern 代表方法名称,param-pattern表示参数,throws-pattern表示抛出的异常。在切入点表达式中,可以使用*来代表任意字符,用..来表示任意个参数(注意这里不是正则表达式),比喻前面的
execution(void spring.chapter3.proxy.Component.business*(..))
就表示执行spring.chapter3.proxy.Component中所有business开头的方法,这里的省略了第一个参数,第二个参数为void,在很多情况下传回值可以用*表示所有传回值均匹配,第三个参数这里指定了类spring.chapter3.proxy.Component,第四个参数为business*表示所有business开头的方法,这里方法的参数为(..),表示0个或者任意个参数,也可以使用*来指定任意参数,比如business*(*,String),表示2个参数,第一个为任意类型,第二个为String类型,同时还可以使用within关键字来表示,例如within(spring.chapter3.proxy.*)表示spring.chapter3.proxy包下的任何方法,由于within用的比较少,同时功能也有所局限,这里不再花太多的篇幅介绍。
2、Annotation表达式
基于JDK5.0以上我们还可以使用Annotation来配置切入点,表达式写法和前面一样,只不过这里不再需要使用配置文件来声明表达式了,直接使用@Pointcut("execution()")就可以表示一个切入点了,以后在需要应用该切入点的时候就可以使用其标识的方法了。
比如:
@Pointcut("execution(void spring.chapter3.proxy.Component.business*(..))")
public void beforePointcut(){}
表示在spring.chapter3.proxy.Component中所有business开头的方法这样一个切入点,在执行前置通知或者其他需要使用的时候直接使用:
@before("beforePointcut")
也就相当于@before("execution(void spring.chapter3.proxy.Component.business*(..))")
3.4.2基于XML Schema的前置通知
Spring2.0提供了Schema来通过配置文件解决了前置通知的限定接口,以改写3.3.1中的实例来讲解,AdviceBeforeComponent不再需要实现MethodBeforeAdvice接口,改后的代码如下:
分享到:
相关推荐
2. 透析中护理: - 监测患者的生命体征,如每小时记录一次血压、脉搏和呼吸,以便及时发现异常。 - 防止透析中出现低血压和失衡综合征,发现紧急情况立即报告医生并采取相应措施。 - 注意穿刺点或导管的状况,...
腹膜透析置管术-图解.doc
浅谈 Spring 原理 透析,IOC 和 AOP Spring 框架是一个从实际项目开发经验中抽取的,可高度重用的应用框架。它是一个轻量级容器,带有包装器,使许多不同的服务和框架更易于使用。轻量级容器接受任何 JavaBean,而...
腹膜透析护理-常规.doc
血液透析护理是一种重要的医疗保健措施,主要用于肾功能衰竭患者的治疗。透析护理涵盖了从治疗前准备到治疗后的全面管理,确保患者安全、有效地进行透析。以下将详细阐述血液透析护理的各个常规环节。 一、透析前...
3. 做好透析前的准备工作,包括透析机的检查、透析管路的预冲,以及记录患者的血压、心率、呼吸和体温。 透析中护理: 1. 持续监测患者的生命体征,如每小时记录一次血压、脉搏和呼吸,以及时发现异常。 2. 密切...
道德及商业行为守则-透析-FreseniusMedicalCare.pdf
血液透析上游产品涵盖透析机、血液透析器、血透管路、透析粉液以及药品等,是支撑整个血液透析产业发展的基石。本文将对这些上游产品市场状况和技术壁垒进行详细分析,以期为相关产业提供有益参考。 血液透析的核心...
根据提供的文件信息,标题为《血液透析管路预冲流程.pdf》,描述也为《血液透析管路预冲流程.pdf》,标签为“教育”,而部分内容包含了血液透析相关的操作流程和技术参数。考虑到字数要求,我将基于这些信息提供详尽...
方法:自2018年3月31日至9月30日,在45位稳定的慢性血液透析黑人患者(年龄≥20岁,进行至少3个月的血液透析并获得知情同意)前往金沙萨的3个血液透析中心。 白天每20分钟(早上6点至晚上10点)和晚上每30分钟...
3. **透析液配置错误**:如AB液接错或浓度不足,会影响透析效果,甚至可能造成毒性物质积累。 4. **上机预充盐水未连接静脉**:可能导致血液流失,增加患者失血风险。 5. **操作失误**:如在下机过程中分心,误拔...
"修改版(2)"暗示了这是对原有论文的第二次修订,可能包含了新的数据、理论或实践方法。"论文.zip"则表明内容是以压缩文件的形式存在,包含了一份文档,可能是详细的研究报告。 【描述解析】 描述中的“维持性腹膜...
目的:评估喀麦隆第一次肾脏病咨询中未透析的CKD患者3至5期的血液学特征。 患者与方法:2018年2月至2018年7月,在雅温得大学教学医院和杜阿拉总医院的肾内科进行了一项基于医院的横断面研究。 所有成年人(≥18岁)...
血液透析是治疗慢性肾衰竭的重要方法,但其过程中可能出现多种并发症,这些并发症需要及时识别和妥善处理,以确保患者的生命安全和治疗效果。以下将详细解释这些并发症及其处理和预防策略。 1. 透析中低血压: - ...
在现代医疗领域中,血液透析作为一种重要的肾脏替代疗法,为慢性肾功能衰竭、急性肾损伤等疾病患者提供了生命延续的可能。然而,血液透析并非一劳永逸,它涉及复杂且精细的操作流程,需要医护人员对病人的病情进行...
【腹膜透析护理常规】 腹膜透析是一种治疗慢性肾衰竭的医疗手段,它通过腹膜将血液中的废物和多余水分清除。在护理腹膜透析患者时,需要全面评估患者的健康状况并采取相应的护理措施。 1. **评估** - 评估包括...
①:EPLAN源格式电气原理图 ②:博图成套程序 ③:3D总装图 ④:变量规划 ⑤:生产视频
该方法已成功应用于大鼠脑微透析液中DA,NE和5-HT的同时测定,其中定量了所有三种MANT的基础水平以及安非他明给药后的升高水平。 这项研究为将来分析生物流体中的MANTs提供了一种简单而快速的方法。
【血液透析中心建设的建议】 血液透析中心的建设和运营是关乎患者生命安全的重要事项,需要严格遵守国家卫生行政部门的规定。以下是对建设血液透析中心的一些关键要点的详细阐述: 1. **审批条件**:设立血液透析...
金融竞争与强化金融监管透析-最新范文.doc