美文网首页
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