- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
spring-aop详解
Spring AOP Spring 是由多个部分组成,包括AOP、DAO、Conetxt、Web、MVC,并且他们都已IoC 容器为基础。Spring 这么多功能都是由于其IoC 容器的特性,实现了对多种框架的集成,但 AOP 是个例外,它不是对某个框架的集成,而是提供了面向方面编程的功能,你可以自由选择是否使用AOP。AOP 提供了强大的中间件解决方案,这使得IoC 容器更加完善。我们可以把AOP 看做是Sping的一种增强,它使得 Spring 可以不需要 EJB 就能够提供声明式事务管理,或者也可以使用Spring AOP 框架的全部功能来实现自己定义的切面。AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的方面Crosscutting enterprise concerns,例如,所有大中型应用都要涉及到的持久化管理(Persistent)、事务管理(Transaction Management)、安全管理(Security)、日志管理(Logging)和调试管理(Debugging)等。Spring AOP的核心设计思想:代理模式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框架一样,在运行时完成织入。各种通知类型包括:① Around通知:包围一个连接点的通知,如方法调用。这是最强大的通知。Aroud通知在方法调用前后完成自定义的行为,它们负责选择继续执行连接点或通过返回它们自己的返回值或抛出异常来短路执行。② Before通知:在一个连接点之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常)。③ Throws通知:在方法抛出异常时执行的通知。Spring提供强制类型的Throws通知,因此你可以书写代码捕获感兴趣的异常(和它的子类),不需要从Throwable或Exception强制类型转换。④ After returning通知:在连接点正常完成后执行的通知,例如,一个方法正常返回,没有抛出异常。Around通知是最通用的通知类型。大部分基于拦截的AOP框架(如Nanning和Jboss 4)只提供Around通知。Spring AOP 开发的两种方式:①基于@Aspect 注释符。适合在 Java 5 及以上的平台。Spring 2.0 及以上版本可以无缝地整合Spring AOP、IoC 和 AspectJ,使得所有的AOP 应用完全融入基于 Spring 的应用体系。②基于Schema 模式。对不支持Java 5 的应用开发,可以使用这种模式。下面我们首先讲第一种方式:基于@Aspect 注释符的应用Spring 版本 spring-framework-3.0.5.RELEASE需要的包:org.springframework.core-3.0.5.RELEASE.jarorg.springframework.beans-3.0.5.RELEASE.jarorg.springframework.context-3.0.5.RELEASE.jarorg.springframework.expression-3.0.5.RELEASE.jarorg.springframework.asm-3.0.5.RELEASE.
您可能关注的文档
最近下载
- 《膝关节前后交叉韧带损伤》课件.ppt VIP
- 产钳和胎头吸引助产课件.pptx VIP
- 前交叉韧带损伤学习课件.pptx VIP
- GeForce GTX 1070Ti显卡电路图纸参考 PG411 Rev A00.pdf VIP
- 2025-2026学年小学美术五年级上册人美版·北京(主编杨力)(2024)教学设计合集.docx
- 学堂在线 生活英语进阶 章节测试答案.docx VIP
- 一汽-奔腾B50-产品使用说明书-奔腾B50 2014款1.6MT伙伴-CA7165MT4-B50伙伴用户手册.pdf VIP
- 八年级数学下册重难点压轴题突破专项(苏科版)06平行四边形(五大题型,45题)含答案与解析.pdf
- 角膜地形图与圆锥角膜.ppt VIP
- 2025四川内江市总工会招聘工会社会工作者14人笔试备考题库及答案解析.docx VIP
文档评论(0)