码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring系列八:Spring AOP 和 AspectJ AOP 区别


    该文章收录专栏:

    叶秋学长的Spring系列专栏

    博主传送门:

    叶秋学长

    Spring AOP 和 AspectJ AOP 区别?

    今天由叶秋学长带领大家学习Spring AOP和AspectJ AOP 的区别~~

    Spring AOP

    Spring AOP 属于运行时增强,主要具有如下特点:

    1. 基于动态代理来实现,默认如果使用接口的,用 JDK 提供的动态代理实现,如果是方法则使用 CGLIB 实现

    2. Spring AOP 需要依赖 IOC 容器来管理,并且只能作用于 Spring 容器,使用纯 Java 代码实现

    3. 在性能上,由于 Spring AOP 是基于动态代理来实现的,在容器启动时需要生成代理实例,在方法调用上也会增加栈的深度,使得 Spring AOP 的性能不如 AspectJ 的那么好。

    4. Spring AOP 致力于解决企业级开发中最普遍的 AOP(方法织入)。

    AspectJ

    AspectJ 是一个易用的功能强大的 AOP 框架,属于编译时增强,  可以单独使用,也可以整合到其它框架中,是 AOP 编程的完全解决方案。AspectJ 需要用到单独的编译器 ajc。

    AspectJ 属于静态织入,通过修改代码来实现,在实际运行之前就完成了织入,所以说它生成的类是没有额外运行时开销的,一般有如下几个织入的时机:

    1. 编译期织入(Compile-time weaving):如类 A 使用 AspectJ 添加了一个属性,类 B 引用了它,这个场景就需要编译期的时候就进行织入,否则没法编译类 B。

    2. 编译后织入(Post-compile weaving):也就是已经生成了 .class 文件,或已经打成 jar 包了,这种情况我们需要增强处理的话,就要用到编译后织入。

    3. 类加载后织入(Load-time weaving):指的是在加载类的时候进行织入,要实现这个时期的织入,有几种常见的方法

    整体对比如下:

    Spring AOP和AspectJ对比

    本期分享到此结束,关注博主不迷路,叶秋学长带你上高速~~

  • 相关阅读:
    【docker/K8S】docker/K8S安装mysql的坑-20220815
    一级造价工程师(安装)- 计量笔记 - 第五章第三节工业管道工程
    Java 18 还未用上,Java 19 最新两大特性曝光
    蓝桥杯刷题二
    基于FPGA的图像PSNR质量评估计算实现,包含testbench和MATLAB辅助验证程序
    Java如何解决浮点数计算不精确问题
    深度学习在岩土工程应用及PFC离散元数值模拟应用
    全链路灰度新功能:MSE上线配置标签推送
    2609. 最长平衡子字符串
    Linux的FTP服务
  • 原文地址:https://blog.csdn.net/m0_63722685/article/details/125891230
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号