- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17讲 Sping AOP
企业级JAVA II 软件工程系:聂常红 cred_n@163.com 内容回顾: 依赖注入概念、方式 自动扫描机制 第17讲 Spring AOP 17.1 Spring AOP概述 17.2 AOP术语 17.3 Spring AOP中的通知类型 17.4 Spring AOP切入点的定义 17.5 Spring AOP切面的定义 17.6 基于注解进行AOP开发 17.7 基于XML配置方式进行AOP开发 17.1 Spring AOP概述 横切关注点:分散在多个业务方法中的与核心逻辑无关的一些公共代码,如日志处理、事务管理、访问控制、性能监测等代码。 AOP(Aspect Oriented Programming),面向切面编程,用于抽取出现在多个业务方法中的横切关注点,使之模块化,并使模块化的横切关注点能够有机的融合到业务逻辑中的一种编程模型。 Spring AOP是Spring的一个重要组成部分,需要Spring IoC容器的支持,目的是解决企业级开发中的横切关注点问题。 使用Spring AOP方式: 基于注解进行AOP开发 基于XML配置方式进行AOP开发 17.2 AOP术语 Aspect(切面): 指横切性关注点的抽象,与类类似。 Joinpoint(连接点): 指那些被拦截到的点。 Advice(通知): 指拦截到连接点之后所要执行的横切关注点。 Pointcut(切入点): 指我们要对哪些连接点进行拦截的定义。包括切入点表达式和切入点声明两部分。 Target(目标对象): 指切面应用到的对象 Proxy(代理对象): 切面应用到目标对象之后AOP框架会创建一个对应目标对象的代理对象来实现切面。 Weave(织入): 指将切面代码插入到目标对象并导致代理对象创建的过程 17.3 Spring AOP中的通知类型 AOP通知的运行原理非常类似Servlet中的过滤器,即拦截特定方法的调用,并对调用方法执行特定的横切关注点代码。 根据通知执行的位置,可以将通知分成以下几种类型: 前置通知:在连接点执行之前触发执行 后置通知:在连接点执行之后触发执行 异常通知:在连接点抛出未处理异常时触发执行 最终通知:不管是否有异常抛出,在连接点执行之后都将触发执行。 环绕通知:在连接点执行前、及执行后触发执行,可控制整个方法的执行与否,甚至修改方法的返回值或参数,是功能最强大的通知。 17.4 Spring AOP切入点的定义 切入点,指我们要对哪些连接点进行拦截的定义。包括切入点表达式定义和切入点声明。 切入点表达式定义 声明切入点:对基于注解方式来说,声明方式与方法的定义一样,例如: private void anyMethod(){ } 基于XML配置方式,切入点的声明通过切入点定义标记的id属性值实现 17.5 Spring AOP切面的定义 切面:是横切性关注点的抽象 定义方式: 基于注解方式: 1. 使用@Aspect注解定义切面类 2. 在切面类中定义切入点 3. 在切面类中定义通知 基于XML配置方式: 1. 在配置文件中配置切面Bean 2. 在配置文件中设置aop配置,并在其中设置切面,然后在切面中再设置切入点及通知。 17.6 基于注解进行AOP开发 ①创建一个java项目 ②将下面所列的JAR文件构建到项目路径中: ③定义一个切面 ④创建一个业务类接口及其实现类 ⑤ 创建Spring的配置文件,在其中引入aop命名空间、定义业务Bean和切面Bean ⑥创建测试类 ⑥创建测试类: 测试类: 思考题 AOP含义是什么? 开发Spring AOP有哪些方式? Spring AOP 术语、常用通知类型有哪些? 如何定义Spring AOP切入点? 如何定义Spring AOP切面? * * 在Spring中,这些点指的是方法 Spring AOP使用动态代理技术 常用于权限控制 方法返回类型 包及子包中的任何类 任意方法参数 ③ 定义切面 : ④ 创建业务接口及其实现类 : ⑤创建Spring配置文件 : 引入aop命名空间 定义切面bean 开启@AspectJ支持 通过通知获取被拦截方法的参数、返回值及抛出异常: 17.7 基于XML配置方式进行AOP开发 * * *
您可能关注的文档
最近下载
- 第6课 从小爱科学 第1课时(教学课件)2025统编版道德与法治三年级上册.pptx
- (完整)深圳市小学一至六年级英语单词表 .pdf VIP
- 2023-2024学年浙江省宁波市镇海蛟川书院小升初(分班)数学素质测试卷及参考答案.docx
- 读西游记的读后感(最新).docx VIP
- RCC-G 计部分.pdf VIP
- 病历书写基本规范(2022年版)参考.pdf VIP
- 课题申报书:核心素养导向下初中数学单元整体教学设计的实施策略研究.docx VIP
- 机械基础 课件 模块二任务二 铰链四杆机构的类型及演化.pptx
- 1.乒乓球运动概述教材编辑.ppt VIP
- 偏头痛的护理课件.pptx VIP
文档评论(0)