- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
E6636B78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3第八章SpringAOP
项目需求背景知识项目实现经典问题强化本章小结0102030405
-理解AOP的概念和作用-掌握AOP底层实现原理代理模式理解AOP常用术语掌握AOP的两种实现方式掌握AOP的五种通知类型0102030405
E6636B78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3项目需求01
功能描述1.1项目经理老王:小王,客户那边提出了一个紧急需求,需要在我们的CRM系统中添加一个功能用于记录用户的操作行为,你有什么想法吗?程序员小王:我会使用SpringAOP的切面(Aspect)和切入点(Pointcut)来实现这个功能。首先,我会定义一个日志切面,用于拦截用户的操作行为。然后,在切入点中定义需要拦截的方法(例如登录、查询、添加、修改等方法),并添加相应的代码以便记录用户在系统中的操作行为。项目经理老王:好的,这个方案看起来不错。请尽快完成这个功能,我们需要在下一个版本更新前将其上线。根据用户提出的要求,我们需要为CRM系统开发一个日志模块。该日志模块主要有以下功能,包括日志信息列表,用户访问时间、访问用户名、访问用户IP地址、访问服务器资源、访问接口耗费时间、访问接口方法,通过对以上信息的监控可以了解用户在系统中的操作行为以及服务器提供服务时的运行状态。
功能描述1.1图1日志列表功能图2日志列表最终效果
E6636B78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3背景知识02
知识导图2.1图3本章知识导图
代理模式2.2代理模式是一种常用的设计模式,在SpringAOP实现中有着重要的作用它为其它对象提供一种代理以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用,客户端通过代理对象来访问目标对象,从而可以在不改变目标对象的情况下增加额外的功能,例如权限控制、缓存、日志记录等。代理模式有多种实现方式,包括静态代理、动态代理和CGLIB代理等。静态代理需要程序员手动编写代理类,因此适用于代理对象较少的场景。动态代理使用Java的反射机制来动态生成代理类,可以在运行时动态创建代理对象,因此适用于需要大量代理对象的场景。CGLIB代理是一种基于继承的代理方式,通过动态生成子类的方式来实现代理。
代理模式-静态代理2.2静态代理是代理模式的一种实现,主要用于控制对特定对象的访问。它的实现需要三个角色:代理对象、目标对象和客户端对象。具体实现步骤如下:(1) 定义顶层接口,该接口包含代理对象类和目标对象类都需要实现的方法。(2) 创建顶层接口的实现类——目标对象类,该类实现接口中定义的方法。(3) 创建顶层接口的实现类——代理对象类,该类持有一个目标对象的引用,并在接口实现方法中调用目标对象的对应方法。(4) 在客户端代码中,创建一个代理对象并调用其方法,以执行目标对象的对应方法。
代理模式-动态代理2.2基于上面的问题就引出了动态代理,其特点是目标对象与代理对象实现同一接口,并在程序运行时动态创建代理对象,相比于静态代理它更加灵活。在Java中最常使用的动态代理技术是JDK自带的代理技术和第三方提供的CGLIB技术。JDK动态代理允许在程序运行时生成代理对象,而不需要事先编写代理类。为了创建代理对象,需要使用java.lang.reflect.Proxy类以及java.lang.reflect.InvocationHandler接口。
代理模式-CGLIB动态代理2.2JDK动态代理必须提供接口
您可能关注的文档
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版)-教案全套 石明翔 第1--13章 JAVAEE企业级开发基础 ---综合实践 企业办公管理系统.docx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件全套 石明翔 第1--13章 JAVAEE企业级开发基础 --- 综合实践 企业办公管理系统.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第四章 MyBatis关联映射.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第二章 MyBatis基础.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第九章 Spring事务管理.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第六章 spring基础.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第七章 Spring IOC.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第三章 Mybatis核心组件.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第十二章 深入使用SpringMVC.pptx
- Java EE企业级框架技术及案例实战——Spring+Spring MVC+MyBatis(微课版) 课件 第十三章 综合实践 企业办公管理系统.pptx
文档评论(0)