Spring Aop原理

Aop概述

 Spring 中 Aop的理解:

AOP:将那些与业务无关,却与业务模块所共同调用的逻辑(例如事务处理,日志管理,权限管理等) 封装成一个可重用的模块,这个模块被称为"切面",便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。

如上举例所示:

        如上图举例所示,一个理发流程下来,除了托尼老师剪头操作有所不同之外,在整个理发的流程中,排队,洗头,吹头,付款等流程都可以抽取出来,封装为方法进行调用,以减少代代码的冗余度。但即使是封装好的代码,在重复调用的情况下,代码冗余度又会提高。如此就有了AOP的使用场景,通过构造切面的方式,将这些使用场景作为切点,代理执行重复的代码,即减少了代码冗余,也有效避免的封装好的代码的重复调用,将除了托尼老师剪发这个核心功能模块之外的流程,全部进行代理。这就是aop与封装代码的不同之处,方法增强且并非重复调用。

相关推荐

  1. SpringAOP的实现原理

    2024-01-16 20:12:04       53 阅读
  2. 浅谈SpringAOP实现原理

    2024-01-16 20:12:04       44 阅读
  3. 一个简易的SpringAOP实例

    2024-01-16 20:12:04       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 20:12:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 20:12:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 20:12:04       87 阅读
  4. Python语言-面向对象

    2024-01-16 20:12:04       96 阅读

热门阅读

  1. Redis 基础使用

    2024-01-16 20:12:04       39 阅读
  2. 设计模式复盘

    2024-01-16 20:12:04       54 阅读
  3. yolov5s.yaml 文件解读

    2024-01-16 20:12:04       48 阅读
  4. cookie、Web Storage

    2024-01-16 20:12:04       50 阅读
  5. Python字符串

    2024-01-16 20:12:04       53 阅读
  6. Linux———chown命令和chgrp命令详解

    2024-01-16 20:12:04       49 阅读
  7. mysql日期时间函数

    2024-01-16 20:12:04       52 阅读
  8. [Linux]查看虚拟内存占用情况

    2024-01-16 20:12:04       58 阅读
  9. SpringBoot 基础介绍以及相关可实现的功能思路

    2024-01-16 20:12:04       52 阅读