通过代码实例跟我学面向方面编程从入门到精通AOP及Spring框架对AOP的具体实现技术.pptVIP

通过代码实例跟我学面向方面编程从入门到精通AOP及Spring框架对AOP的具体实现技术.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
通过代码实例跟我学面向方面编程从入门到精通AOP及Spring框架对AOP的具体实现技术

AOP及Spring框架对AOP的具体实现技术 AOP及Spring框架对AOP的具体实现技术 在本讲中重点掌握如下知识点 面向方面编程及应用 Spring AOP的特性及具体实现 Spring AOP是基于动态代理实现的 应用Spring AOP的开发过程 Spring AOP中的四种通知接口 自动代理及具体的实现 The Emphases in Teaching Materials 1、面向方面的编程(AOP---Aspect-Oriented Programming) (1)什么是Aspect? 中文直译通常是“方面”(更准确的应该为“切面”),但这个名词容易使人混淆或者太抽象。 它其实是一种编程技术(方法) (2)应用AOP的主要目的----尽量分离应用系统中的“系统服务”和“业务逻辑”功能实现的代码 你理解其内涵吗? (3)AOP应用的主要场合 AOP把软件系统分为两个部分:核心关注点和横切关注点 按照AOP的思想,业务逻辑的功能实现代码不应该与系统服务的代码藕合 2、AOP是对OOP的进一步扩展和完善 OOP与AOP相互配合---它们应该相互配合,而不是相互排斥 (1)AOP和OOP在应用上的不同点 AOP是针对具体业务领域中的“技术逻辑(一般都体现为系统服务)”的实现; 而OOP针对业务对象及其关系、业务逻辑的功能实现和数据处理。 (2)OOP擅长解决纵向方面的问题 因为OOP允许开发人员定义从上到下的关系(纵向),但并不适合定义从左到右的关系(横向) OOP在实现对公共行为进行建模时,展示了强大的功能,但利用它对跨越多个模块的共性的“行为”进行建模时,OOP则显得无能为力。 (3)OOP不擅长解决横向方面的问题 横向方面的问题:在多个不同类或者多个方法中都需要某种相同的“服务功能”,该“服务功能”也就是横向方面的问题。 AOP建议开发人员把这类问题封装到某个方面(Aspect)中——也就是某个类中 其目的是期望达到更好地实现模块化,同时也遵守单一职责的原则。 3、Spring 提供对AOP的支持和实现 (1)Spring AOP是对AOP的一种轻量级的实现 Spring AOP是通过IoC模式来实现的AOP,并且是通过动态代理来实现的。 业务功能类为POJO形式,并且可以在容器之外执行 利用IoC可以实现由容器控制对象的生命期管理 利用AoP可以实现由容器提供基础功能服务 (2)Spring中为什么要提供对 AOP的具体实现 基于传统的J2EE的应用系统通常严重依赖于通过容器的JNDI才可获得容器所提供的服务----这意味着需要大量直接的JNDI查找、或者要使用Service Locator模式。 Spring AOP简化了“容器提供基础功能服务”的具体实现---同样能够提供JDBC、JMS和JTA之类的常见服务的支持,但只需要在XML文件中进行简单的配置实现 4、Spring AOP 和 Spring IOC 两者的关系 (1)Spring IoC容器并不需要依赖于AOP 这意味着如果我们不需要使用AOP,当然AOP也就不需要被使用。 但Spring AOP完善了Spring IoC,从而使Spring框架成为一个有效的中间件的解决方案。 (2)Spring AOP通过IoC模式来实现AOP Spring AOP作为一种非侵略性的、轻型的AOP框架----这也就是Spring AOP与其它的AOP的最大的不同点。 Spring AOP通常是和Spring IoC容器联合使用的。 并且Advice(通知)和Pointcut(连接点)本身都由Spring IoC 容器来管理并动态地注入。 这些是Spring AOP的特点 5、重点理解Spring AOP中的三个概念 (1)JoinpointPointcut(连接点或者切入点) (2)advice(通知) 它就是我们想要向别的程序内部的不同 (3)advisor(通知者或者通知的装配器) 它其实是pointcut和advice的装配器,是将advice的代码注入到系统主程序中预定义位置的代码---它一般包含一个通知对象和与之关联的切入点表达式。 它定义了需要注入“advice(通知)”的代码位置-----通常是某个特定的类中的一个或者多个public方法名称。 的地方注入的程序代码----从而实现系统中的附加服务。 6、Spring AOP是基于动态代理机制实现的 (1)Spring默认使用的是基于Java Dynamic Proxy模式实现---但它只能够实现接口的代理 如果目标对象实现了一个或多个接口暴露的方法,Spring将使用JDK的java.lang.reflect.Proxy类创建代理---

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档