谈谈对 AOP 的理解

简介: 谈谈对 AOP 的理解

AOP 的全称是 Aspect Oriented Programming,即面向切面编程。是实现功能统一维护的一种技术,它将业务逻辑的各个部分进行隔离(比如安全、日志、事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。AOP 可以说是对 OOP 的补充,OOP 引入继承、封装、多态的概念建立一种对象层次结果,允许开发者定义纵向关系,但不适合定义航向关系,这样会导致大量代码重复,不利于各个模块重用;而 AOP 将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成一个可重用的模块,称他为 “切面”,这样就减少了代码重复,降低了模块间的耦合度,提高系统的可维护性。AOP 运用动态代理的技术,在不修改源码的基础上对已有的方法进行增强。

作用:在不修改源码的基础上,对已有方法进行增强。

实现原理:动态代理技术。
优势:减少重复代码、提高开发效率、方便维护
应用场景:事务处理、日志管理、权限控制、异常处理等方面。

两种实现方式:

动态代理:利用截取消息的方式对该消息进行装饰,来取代原来对象行为的执行。

静态织入:引入特定的语法创建 “切面”,使编译器可以在编译期间织入有关 “切面” 的代码。

相关文章
|
6月前
|
数据库
AOP(面向切面编程)的基本概念和原理
AOP(面向切面编程)的基本概念和原理
438 0
|
3月前
|
监控 安全 数据库
面向方面编程(AOP)的概念
【8月更文挑战第22天】
79 0
|
6月前
|
SQL 缓存 Java
【Spring】AOP底层原理(动态代理)-》 AOP概念及术语 -》 AOP实现
【Spring】AOP底层原理(动态代理)-》 AOP概念及术语 -》 AOP实现
109 0
|
监控 安全 Java
作为spring框架的另外的重点AOP的介绍(详细篇)
作为spring框架的另外的重点AOP的介绍(详细篇)
113 0
|
Java uml Spring
被面试官问烂的Spring AOP原理,你是怎么答的?
Spring AOP在Spring体系中深不可测,Spring AOP原理也是经常在互联网大厂面试时被问到,今天,我给大家抽丝剥茧,详细到你无法想象。我划分为四个阶段给大家介绍:创建代理对象阶段、拦截目标对象阶段、调用代理对象阶段、调用目标对象阶段。
97 0
|
Java 测试技术 数据安全/隐私保护
Springloc和aop的基础概念
Springloc和aop的基础概念
|
XML 缓存 监控
【面试必问】Spring核心之面向切面编程(AOP)
AOP(面向切面编程)是一种编程范式,用于将横切关注点(如日志记录、性能统计等)从主要业务逻辑中分离出来。通过将这些横切关注点与业务逻辑分离开来,可以提高代码的可重用性、可维护性和可扩展性。在AOP中,切面是一个模块化的单元,它封装了与横切关注点相关的行为,并可以在多个不同的应用程序中重用。切面可以通过一种称为“织入”的过程将其与主要业务逻辑相结合,从而创建一个完整的应用程序。
134 0
【面试必问】Spring核心之面向切面编程(AOP)
|
前端开发
前端学习案例2-Aop切面编程2
前端学习案例2-Aop切面编程2
53 0
前端学习案例2-Aop切面编程2
|
前端开发
前端学习案例1-Aop切面编程1
前端学习案例1-Aop切面编程1
41 0
前端学习案例1-Aop切面编程1