普歌-云言团队-Spring的AOP简介

2023-11-11

什么是AOP

AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

AOP 的作用及其优势

作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强

优势:减少重复代码,提高开发效率,并且便于维护

AOP 的底层实现

实际上,AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。

AOP 的动态代理技术

常用的动态代理技术

JDK 代理 : 基于接口的动态代理技术

cglib 代理:基于父类的动态代理技术

AOP 相关概念

Spring 的 AOP 实现底层就是对上面的动态代理的代码进行了封装,封装后我们只需要对需要关注的部分进行代码编写,并通过配置的方式完成指定目标的方法增强。

在正式讲解 AOP 的操作之前,我们必须理解 AOP 的相关术语,常用的术语如下:

  • Targe
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

普歌-云言团队-Spring的AOP简介 的相关文章

随机推荐

  • 小知识点记录:(“字符“).equals(str)与str.equals(“字符“)的区别

    最近遇到这个知识点 字符 equals str 和 str equals 字符 的区别 之前比较常用 字符 equals str 但还是仔细区分一下 因为 如果传入的字符串str为null时 null的的引用类型变量来调用方法会抛出异常 先
  • 架构师成长之路-docker 搭建kibana可视化平台操作es索引

    什么是kibana Kibana 是一款免费开源的前端应用程序 其基础是 Elastic Stack 可以为 Elasticsearch 中索引的数据提供搜索和数据可视化功能 官方术语可以理解操作es的一个可视化工具 es封装了接口 而ki
  • 缺席一年后,谷歌I/O大会回来了!3D视频聊天,10倍性能TPU,还有Android 12重磅登场!...

    新智元报道 来源 Google Blog 编辑 yaxin 好困 新智元导读 5月19日凌晨1点 谷歌IO 2021开发者大会重新回归 谷歌可谓是厚积薄发 积攒2年创新技术轮番轰炸 3D视频聊天Starline 十倍性能TPU V4 聊天不
  • 浅谈小程序开源业务架构建设之路

    一 业务介绍 1 1 小程序开源整体介绍 百度从做智能小程序的第一天开始就打造真正开源开放的生态 我们的愿景是 定义移动时代最佳体验 建设智能小程序行业标准 打破孤岛 共建开源 开放 繁荣的小程序行业生态 百度智能小程序的生态玩家有三类 分
  • Java和Python读取文件总结

    public static ArrayList
  • 紫光电子档案管理系统存在SQL注入漏洞(漏洞复现)

    文章目录 紫光电子档案管理系统存在SQL注入漏洞 漏洞复现 0x01 前言 0x02 漏洞描述 0x03 影响范围 0x04 漏洞环境 0x05 漏洞复现 1 访问漏洞环境 2 构造POC 3 复现 紫光电子档案管理系统存在SQL注入漏洞
  • VMware如何导出和导入OVF文件

    开源虚拟化格式 OVF文件 是一种开源的文件规范 是一种开源 安全 有效 可拓展的便携式虚拟打包格式 由ovf文件 mf文件 cert文件 vmdk文件和iso文件等组成 可以用于虚拟机在不同虚拟化平台上的迁移 本文介绍VMware如何导出
  • Windows10访问共享总是提示输入网络凭证不正确

    场景 安装了windows10系统后 访问共享时总是提示输入网络凭证 输入什么都提示不正确 被访问机也是windows 10 操作系统 使用windows7不需要输入密码就可以访问 即使在被访问机上增加新的用户或者用guest账号去登录也会
  • GB9706.1-2007名词解释:电压

    电压 1 高电压 任何超过 1000V 交流或 1500V 直流或 1500V 峰值的电压 2 网电源电压 多相供电网中两相线之间的电压 或单相供电网中相线与中性线之间的电压 3 安全特低电压 在用安全特低电压变压器或等效隔离程度的装置与供
  • typora

    关于typora的一篇博客 https blog csdn net mingzhuo 126 article details 79941450
  • faceswap使用记录

    1 没有显示 fs cache文件夹 当时我是使用云gpu来运行文件代码的 里面提示我安装两个配置文件放置到 fs cache文件夹 但是当前文件夹里面并没有显示 fa cache文件夹 虽然不知道是什么原因 但这个文件夹其实是存在的 你下
  • java读取文件的方法是_java读取文件的方法有几种

    java读取文件的方法有几种 发布时间 2020 06 26 14 56 33 来源 亿速云 阅读 104 作者 Leah 这篇文章将为大家详细讲解有关java读取文件的方法 文章内容质量较高 因此小编分享给大家做个参考 希望大家阅读完这篇
  • 【python】Counter 函数的用法

    https docs python org 3 6 library collections html collections Counter 原文链接 https blog csdn net u010339879 article detai
  • 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景

    原文地址 http article ityran com archives 2140 本为由泰然教程组成员 浅底 原创 作为一位经验丰富的游戏开发人员 这次浅底将CocosBuilder经验分享给大家 希望大家喜欢 欢迎拍砖 转载请注明出处
  • yolov5加入CBAM,SE,CA,ECA注意力机制,纯代码(22.3.1还更新)

    本文所涉及到的yolov5网络为5 0版本 后续有需求会更新6 0版本 CBAM注意力 class ChannelAttention nn Module def init self in planes ratio 16 super Chan
  • 答辩准备细节 - 推荐第三本书很棒的书

    之前介绍了 PPT演讲力 重要时刻 不要输在表达上 和 金字塔原理 本次准备来介绍一本非常好的设计书 写给大家看的设计书 01 设计的必要性 写简历 做PPT等都可以用到 我们虽然不是专门的设计人员 但是我们仍然可以追求内容更好看 人们对于
  • XDOJ寻找最长的行

    寻找最长的行 类别 字符串 时间限制 1S 内存限制 1000Kb 问题描述 寻找若干行文本中最长的一行 输入说明 输入为多个字符串 每个字符串长度不超过100个字符 每个字符串占一行 输入的行为 end 时表示输入结束 输出说明 输出其中
  • Elasticsearch 实现分组统计

    之前有个查询es分组求和的需求 类似关系型数据库 select a b sum c from table group by a b 当时用DSL查询语句实现 这边记录下 GET my index my type search from 0
  • C++中new与delete问题学习

    C 中new与delete问题学习 一 new char与delete问题 1 问题程序 include
  • 普歌-云言团队-Spring的AOP简介

    什么是AOP AOP 为 Aspect Oriented Programming 的缩写 意思为面向切面编程 是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术 AOP 是 OOP 的延续 是软件开发中的一个热点 也是Spri