Spring的AOP简介

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

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

A\B\C\D是四个功能模块,B\C\D都需要和A功能结合才能实现自己的业务逻辑,不需要在每一个里面都写A,只需要把A独立出来再调用。

目标方法+功能增强方法=切面?

通过对于配置文件的修改从而实现不同功能的组合

1.2 AOP的底层实现

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

1.3 AOP 的动态代理技术

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

JDK代理的动态代理 Dymanic Proxy-CSDN博客

• cglib代理:基于父类的动态代理技术(可以没有接口)

相关推荐
IT_陈寒4 小时前
一文搞懂Vite的核心概念
前端·人工智能·后端
一个简单的TTS开发者4 小时前
中文TTS工具有哪些-8款主流方案横向对比
人工智能·后端·python·indextts
倔强的石头1064 小时前
【Linux指南】进程通信系列(二):匿名管道 —— pipe 的本质、fork 继承与四种读写规则
java·linux·运维
调试优选官4 小时前
2026年IoT物联网开发赛道年度榜单深度解析:D-coding物联网系统定制与源码交付能力专项解读
java·物联网·struts·iot·开发经验
木井巳4 小时前
【动态规划】三步问题
java·算法·leetcode·动态规划·推荐算法
小张成长计划..4 小时前
【Linux】25:线程概念和控制
java·linux·jvm
高频因子挖掘机5 小时前
量化回测应该保存不复权数据吗?从数据口径到收益计算的工程实践
后端·github·api
高频因子挖掘机6 小时前
实时行情为什么不应该逐只股票请求?批量查询与标的池管理实践
后端·github·api
程序猿DD11 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
蛋蛋的就会顺顺的13 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣