用Spring AOP实现开发中松散耦合
2008-01-05 08:23:01 来源:WEB开发网核心提示:摘要 面向方面编程(AOP)是面向对象编程(OOP)的一种扩展技术,能够很好的解决横切关注点问题以及相关的设计难题来实现松散耦合,用Spring AOP实现开发中松散耦合,SPRing AOP 是 AOP 技术的一种实现,本文介绍了AOP 概念,可以借助代理类快速搭建Spring AOP 应用,使用Spring AOP
摘要 面向方面编程(AOP)是面向对象编程(OOP)的一种扩展技术,能够很好的解决横切关注点问题以及相关的设计难题来实现松散耦合。SPRing AOP 是 AOP 技术的一种实现。本文介绍了AOP 概念,然后具体讨论了如何利用Spring AOP 开发AOP 程序,最后展望了Spring AOP 的前景。
要害词 AOP Spring AOP java
引言
AOP(aspected Oriented Programming)是一种新兴的编程技术。它可以解决OOP和过程化方法不能够很好解决的横切(crosscut)问题,如:事务、安全、日志等横切关注。当未来系统变得越来越复杂,横切关注点就成为一个打问题的时候,AOP就可以很轻松的解决横切关注点这个问题,使得AOP编程成为。Spring 是基于J2EE的轻量级开源开发框架,其中Spring AOP组件实现了面向方面编程。
AOP 概述
面向方面编程 (AOP) 提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 面向对象将应用程序分解成各个层次的对象,而AOP将程序分解成各个方面或者说关注点 。这使得可以模块化诸如事务治理等这些横切多个对象的关注点。
1、AOP 基本概念
方面(Aspect): 一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务治理是J2EE应用中一个很好的横切关注点例子。方面用Spring的 Advisor或拦截器实现。
连接点(Joinpoint): 程序执行过程中明确的点,如方法的调 用或特定的异常被抛出。
通知(Advice): 在特定的连接点,AOP框架执行的动作。各种类 型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架 包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链。
切入点(Pointcut): 指定一个通知将被引发的一系列连接点 的集合。AOP框架必须答应开发者指定切入点:例如,使用正则表达式。
引入(IntrodUCtion): 添加方法或字段到被通知的类。 Spring答应引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现 IsModified接口,来简化缓存。
目标对象(Target Object): 包含连接点的对象。也被称作 被通知或被代理对象。
AOP代理(AOP Proxy): AOP框架创建的对象,包含通知。 在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。
织入(Weaving): 组装方面来创建一个被通知对象。这可以在编译时 完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样, 在运行时完成织入。
Spring AOP 介绍
Spring的一个要害组件就是AOP框架。 Spring IoC容器(BeanFactory 和applicationContext)并不依靠于AOP, 这意味着假如你不需要使用,AOP可以不用,AOP完善了Spring IoC,使之成为一个有效的中间件解决方案。
Spring AOP 是Spring 框架的重要组成部分,它实现了AOP联盟约定的接口。Spring AOP 是由纯Java开发完成的。Spring AOP 只实现了方法级别的连接点,在J2EE应用中,AOP拦截到方法级的操作已经足够。OOP倡导的是基于setter/getter 的方法访问,而非直接访问域,而Spring 有足够理由仅仅提供方法级的连接点。为了使控制反转(IoC)很方便的使用到非常健壮、灵活的企业服务,则需要Spring AOP 的实现。Spring AOP 在运行时才创建Advice 对象。Spring AOP的优点如下:
·答应开发者使用声明式企业服务,比如事务服务、安全性服务。
·开发者可以开发满足业务需求的自定义方面。
·开发Spring AOP Advice 很方便,可以借助代理类快速搭建Spring AOP 应用。
使用Spring AOP松散耦合
1、创建通知
为实现AOP,开发者需要开发AOP 通知(Advice)。
要害词 AOP Spring AOP java
引言
AOP(aspected Oriented Programming)是一种新兴的编程技术。它可以解决OOP和过程化方法不能够很好解决的横切(crosscut)问题,如:事务、安全、日志等横切关注。当未来系统变得越来越复杂,横切关注点就成为一个打问题的时候,AOP就可以很轻松的解决横切关注点这个问题,使得AOP编程成为。Spring 是基于J2EE的轻量级开源开发框架,其中Spring AOP组件实现了面向方面编程。
AOP 概述
面向方面编程 (AOP) 提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 面向对象将应用程序分解成各个层次的对象,而AOP将程序分解成各个方面或者说关注点 。这使得可以模块化诸如事务治理等这些横切多个对象的关注点。
1、AOP 基本概念
方面(Aspect): 一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务治理是J2EE应用中一个很好的横切关注点例子。方面用Spring的 Advisor或拦截器实现。
连接点(Joinpoint): 程序执行过程中明确的点,如方法的调 用或特定的异常被抛出。
通知(Advice): 在特定的连接点,AOP框架执行的动作。各种类 型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架 包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链。
切入点(Pointcut): 指定一个通知将被引发的一系列连接点 的集合。AOP框架必须答应开发者指定切入点:例如,使用正则表达式。
引入(IntrodUCtion): 添加方法或字段到被通知的类。 Spring答应引入新的接口到任何被通知的对象。例如,你可以使用一个引入使任何对象实现 IsModified接口,来简化缓存。
目标对象(Target Object): 包含连接点的对象。也被称作 被通知或被代理对象。
AOP代理(AOP Proxy): AOP框架创建的对象,包含通知。 在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。
织入(Weaving): 组装方面来创建一个被通知对象。这可以在编译时 完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样, 在运行时完成织入。
Spring AOP 介绍
Spring的一个要害组件就是AOP框架。 Spring IoC容器(BeanFactory 和applicationContext)并不依靠于AOP, 这意味着假如你不需要使用,AOP可以不用,AOP完善了Spring IoC,使之成为一个有效的中间件解决方案。
Spring AOP 是Spring 框架的重要组成部分,它实现了AOP联盟约定的接口。Spring AOP 是由纯Java开发完成的。Spring AOP 只实现了方法级别的连接点,在J2EE应用中,AOP拦截到方法级的操作已经足够。OOP倡导的是基于setter/getter 的方法访问,而非直接访问域,而Spring 有足够理由仅仅提供方法级的连接点。为了使控制反转(IoC)很方便的使用到非常健壮、灵活的企业服务,则需要Spring AOP 的实现。Spring AOP 在运行时才创建Advice 对象。Spring AOP的优点如下:
·答应开发者使用声明式企业服务,比如事务服务、安全性服务。
·开发者可以开发满足业务需求的自定义方面。
·开发Spring AOP Advice 很方便,可以借助代理类快速搭建Spring AOP 应用。
使用Spring AOP松散耦合
1、创建通知
为实现AOP,开发者需要开发AOP 通知(Advice)。
更多精彩
赞助商链接