轻松学JavaWeb开发之面向切面编程.pptxVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第18章 面向切面编程本章继续学习Spring的第二大功能,即面向切面编程(Aspect Oriented Programming,AOP)。在前面学习Java时,我们知道Java是一门面向对象的语言。面向切面编程在一定程度上弥补了面向对象编程的不足。面向对象编程是对父类、子类这种纵向关系编程,而面向切面编程是在方法的前后进行横向关系编程。这一章我们就来对面向切面编程进行详细讲解。第一页,共二十八页。 18.1 面向切面编程简介对于初学者而言,面向切面编程是一个全新的编程思想。这里提出了切面的概念,通过切面对关注点进行模块化,其中最常见的切入点就是方法。使用面向对象编程,在指定方法的前面执行另一个方法是不难实现的,但是如果要在同一个包下所有类的方法前面都执行统一方法就是一件比较复杂的工作了。在这种情况下,如果使用面向切面编程就很容易实现。第二页,共二十八页。 18.1.1 面向切面编程的概念在面向切面编程中,经常会看到很多抽象的概念,就像我们刚开始学习Java时,也会遇到类、对象、多态等这些难懂的对象一样。我们先来对AOP中经常遇到的一些概念进行讲解。首先是切面,切面就像是一把刀,可以讲一个事物一分为二。Spring中的切面可以将一个程序分为两部分,在中间加入自己想做的事。而且可能不仅仅是对一个程序,也许是一个包下所有的程序,如图18.1所示。第三页,共二十八页。 18.1.1 面向切面编程的概念在一个程序中使用切面,通常是对程序中的方法进行操作,方法调用和处理异常等待时间段称为连接点。在面向切面编程中,一个连接点就代表一个方法的执行。在Spring中,执行切面编程要用到拦截器的概念,当运行到某一切入点时,会有拦截器响应,这就是通知的概念。第四页,共二十八页。 18.1.2 面向切面编程的功能Spring AOP是使用纯Java语言编写的,所以我们可以很容易的完成对它的扩展。在目前的Spring面向切面编程中,仅支持以方法作为连接点。之所以会这样,是因为在实际开发中以方法作为连接点是应用最多的,对于成员变量的操作是非常少的。下面我们就来重点学习Spring中使用方法做连接点的面向切面编程。第五页,共二十八页。 18.2 使用注解方式进行AOP开发注解是Java 5.0版本中提出的新特性技术,通过注解可以使一个普通的Java程序完成特定的功能。在Spring中,要使用注解方法进行AOP开发,需要使用到AspectJ组件技术,通过使用AspectJ的库可以完成对切点的解析和匹配。第六页,共二十八页。 18.2.1 启动AspectJ的支持要想在Spring的面向切面开发中使用注解方式,就需要使用到AspectJ组件技术。要使用AspectJ技术首先要导入AspectJ相关的两个jar包:aspectjweaver.jar和aspectjrt.jar,它们位于lib/aspectj目录下。AspectJ可以在其官方网站:进行下载。解压就可以得到需要的jar包,我们只要将其拷贝到创建的项目文件夹下就可以了。导入了AspectJ相关的jar包之外,我们还需要在Spring的applicationContext.xml配置文件中。第七页,共二十八页。 18.2.2 声明切面在启动AspectJ的支持之后,我们在Spring中开发Bean程序时,需要在Bean类的前面加入@AspectJ,从而标明该类是Spring的切面。我们举一个示例如图18.4所示。同样,开发完Bean之后,我们也要在Spring的配置文件中对其进行配置,配置方法如图18.5所示。第八页,共二十八页。 18.2.3 声明切入点切入点决定了连接点关注的内容,使得我们可以控制通知什么时候执行。我们已经知道面向切面编程仅对方法执行,所以切入点也仅仅是判断哪些方法需要进行面向切面编程。声明切入点需要使用@Pointcut注解,并在后面给出切入点表达式,定义关注哪些方法的执行。最后还要给出一个切入点名称,它通过一个没有返回值的普通方法构成。我们可以给出一个例子,如图18.6所示。第九页,共二十八页。 18.2.4 声明通知声明通知的作用是告诉程序应当在切入点的什么时候执行下面的方法。通知有四种类型,如图18.7所示。其中最常用的前置通知是指在切入点方法运行之前进行通知,从而执行下面的方法。前置通知使用的是@Before注解。我们可以给出一个例子,如图18.8所示。第十页,共二十八页。 18.3 使用注解对数据访问层进行管理我们对如何使用注解方式进行AOP开发已经有了一定的了解,现在我们就通过一个实际的例子来看怎样使用注解对数据访问层进行管理。在实际开发中,数据访问层是不可缺少的一部分。在数据访问层中通常要具有增、删、改、查等一系列方法。在开发过程中,有这样一

文档评论(0)

SYWL2019 + 关注
官方认证
文档贡献者

权威、专业、丰富

认证主体四川尚阅网络信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6716HC2Y

1亿VIP精品文档

相关文档