美文网首页
Spring之AOP

Spring之AOP

作者: 七喜丶 | 来源:发表于2022-06-20 16:58 被阅读0次

一、Aop简介

概念
AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构
AOP弥补了OOP的不足,基于OOP基础之上进行横向开发

  • OOP规定程序开发以类为主体模型,一切围绕对象进行,完成某个任务先构建模型
  • AOP程序开发主要关注基于OOP开发中的共性功能,一切围绕共性功能进行,完成某个任务先构建可能遇到的所有共性功能(当所有功能都开发出来也就没有共性与非共性之分)

作用

  • 伴随着AOP时代的降临,可以从各个行业的标准化、规范化开始入手,一步一步将所有共性功能逐一开发完毕,最终以功能组合来完成个别业务模块乃至整体业务系统的开发
  • 目标:将软件开发由手工制作走向半自动化/全自动化阶段,实现“插拔式组件体系结构”搭建

优势

  • 提高代码的可重用性
  • 业务代码编码更简洁
  • 业务代码维护更高效
  • 业务功能扩展更便捷

步骤

  • Joinpoint(连接点):就是方法
  • Pointcut(切入点):就是挖掉共性功能的方法
  • Advice(通知):就是共性功能,最终以一个方法的形式呈现
  • Aspect(切面):就是共性功能与挖的位置的对应关系
  • Target(目标对象):就是挖掉功能的方法对应的类产生的对象,这种对象是无法直接完成最终工作的
  • Weaving(织入):就是将挖掉的功能回填的动态过程
  • Proxy(代理):目标对象无法直接完成工作,需要对其进行功能回填,通过创建原始对象的代理对象实现
  • Introduction(引入/引介) :就是对原始对象无中生有的添加成员变量或成员方法

开发过程

  • 开发阶段(开发者完成)
    正常的制作程序
    将非共性功能开发到对应的目标对象类中,并制作成切入点方法
    将共性功能独立开发出来,制作成通知
    在配置文件中,声明切入点
    在配置文件中,声明切入点与通知间的关系(含通知类型),即切面

  • 运行阶段(AOP完成)
    Spring容器加载配置文件,监控所有配置的切入点方法的执行
    当监控到切入点方法被运行,使用代理机制,动态创建目标对象的代理对象,根据通知类别,在代理对象的对应位置将通知对应的功能织入,完成完整的代码逻辑并运行

相关文章

网友评论

      本文标题:Spring之AOP

      本文链接:https://www.haomeiwen.com/subject/hxyhxrtx.html