当前位置: 首页 > news >正文

114、Spring AOP是如何实现的?它和AspectJ有什么区别?

Spring AOP是如何实现的?它和AspectJ有什么区别?

  • 一、AOP的理解
    • 1、spring aop:动态代理实现
    • 2、spring aop 和 AspectJ的区别
    • 3、小图

一、AOP的理解

其实,AOP只是一种编程思想,表示面向切面编程,如果想实现这种思想,可以使用动态代理啊,第三方的框架 AspectJ啊等等。

1、spring aop:动态代理实现

  • Spring AOP是利用的动态代理机制
  • 如果一个Bean实现了接口,那么就会采用JDK动态代理来生成该接口的代理对象
  • 如果一个Bean没有实现接口,那么就会采用CGLIB来生成当前类的一个代理对象。
  • 代理对象的作用就是代理原本的Bean对象,代理对象在执行某个方法时,会在该方法的基础上增加一些切面逻辑
  • 应用场景:我们可以利用AOP来实现一些诸如登录校验、权限控制、日志记录等统一功能。

2、spring aop 和 AspectJ的区别

  • Spring AOP和AspectJ之间并没有特别强的关系,AOP表示面向切面编程,这是一种思想,各个组织和个人都可以通过技术来实现这种
http://www.lryc.cn/news/104826.html

相关文章:

  • 正则表达式速通
  • 数据可视化(5)热力图及箱型图
  • React 组件通信-全面解析
  • “深入理解Spring Boot:快速构建微服务架构的利器“
  • SpringBoot超级详解
  • 手机的python怎么运行文件,python在手机上怎么运行
  • RBAC三级树状菜单实现(从前端到后端)未完待续
  • 牛客网Verilog刷题——VL41
  • 大整数截取解决方法(java代码)
  • Spring Boot使用@Async实现异步调用:自定义线程池
  • GFS 分布式文件系统
  • PHP-mysql学习笔记
  • AI技术快讯:清华开源ChatGLM2双语对话语言模型
  • 网络基础知识
  • 【应用层】HTTPS协议详细介绍
  • 【Tensorboard+Pytorch】使用注意事项
  • 设计模式行为型——命令模式
  • 13-2_Qt 5.9 C++开发指南_线程同步_QMutex+QMutexLocker(目前较为常用)
  • 金融行业选择哪种SSL证书才安全可靠
  • 面试总结(三)
  • 青大数据结构【2016】
  • 聊聊拉长LLaMA的一些经验
  • 线程池的使用详解
  • 刷题笔记 day4
  • Python 2.x 中如何使用flask模块进行Web开发
  • spring websocket 调用受权限保护的方法失败
  • Vue.js2+Cesium 四、模型对比
  • Linux 之 Vi 编辑器
  • Python超实用!批量重命名文件/文件夹,只需1行代码
  • sqoop