AOP(Aspect Oriented Programming)书面解释是面向切面编程。是spring核心之一。经常被用来处理事务,日志和其他一些不是主要业务逻辑的需求中。
下面使用一个简单的场景来说明Aop。该场景是这样的,在一个系统中,对于用户的某些操作需要记录日志,例如,用户删除,修改某些敏感数据。
一. 为什么使用Aop
想一想如果我们不使用Aop会怎么处理呢?一般情况下,我们会新建一个类LogHandler,然后在该类中新建一个方法,暂且叫做logDetail方法,然后在需要进行写日志的地方调用该方法。这样做的后果是在具体的业务方法中会到处充斥着不是正常业务逻辑的logDetail方法,代码的可读性,可维护性都不是很好,同时这种处理log的方法已经侵入到业务逻辑中,耦合性太高。
如果我们使用Aop,那么我们就可以在不影响程序的业务完整性的情况,把写日志这个需求完成。
而要实现Aop也仅仅只要在spring中配置一下即可(xml形式或者annotation形式)。这样处理是没有侵入性的, 不会去修改原有的代码,耦合性低。注意使用Aop也是需要新建Loghandler类和logDetail方法。
Aop之所以叫切面,我是这么理解的。我们可以这样认为,某个方法中要记录log的这个地方记为一个点,因为要在现有许多方法中要加入日志这个功能,所以在程序中就要许多个点,把这些点都连起来,就是一个平面了,所以叫做切面。
二. Aop术语
1. 通知(advice)
切面要调用的方法,以及定义何时去执行log方法(它应该应用于某个方法调用之前?之后?还是只在方法抛出异常的时候?),在例子场景中,就是logDetail方法。
2. 切面(Aspect)
通常是切入的那个类,在例子场景中,就是LogHandler类。
3. pointCut(切入点)
并不是所有的方法都需要记录log的,对于哪些方法要去记录log,这个就是pointcut需要处理的问题,它定义了“何地”要应用切面。pointCut是支持的通配符的。例如:pointcut="execution(* aop.spring.mylog.add* (..))"
分享到:
相关推荐
Spring AOP 术语详解 Spring 中的 AOP 术语可能会使人感到困惑,但本文将对 AOP 术语进行通俗的解释。...AOP 术语的理解是非常重要的,掌握这些术语可以帮助我们更好地理解和使用 AOP 编程技术。
通过学习这个示例,你可以更深入地理解AOP在实际项目中的应用。 总的来说,AOP通过通知和切点的概念,使得我们可以编写更加模块化和可维护的代码,降低了系统复杂性,提高了代码复用性。在Java领域,Spring框架提供...
四、AOP术语 - 切面(Aspect):定义一组相关或相互关联的通知和切点的模块化组件。 - 通知(Advice):在特定连接点执行的代码,例如日志记录、事务管理等。 - 切点(Pointcut):定义在何处应用通知的规则。可以是...
要深入理解AOP,开发者需要熟悉上述的概念和术语。在实践中,开发者可以通过阅读Spring AOP和AspectJ的官方文档、参考示例项目、参与社区讨论等方式来进一步提升自己的理解。通过实际的编码实践和问题解决,开发者...
在Spring中,AOP主要通过代理机制实现,允许开发者将关注点分离,将通用的辅助功能(如日志、事务控制)与核心业务逻辑分离,提高代码的模块化程度。 1.2. AOP 核心概念与术语 - 切面(Aspect):切面是横切关注点...
面向切面编程(AOP)是Spring框架中的一项重要技术,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑代码中分离出来,通过提供声明式的服务来减少代码重复、提高模块化、并使得业务逻辑更容易维护和...
AOP的主要目标是解决传统OOP中代码重复和分散的问题,通过切面编程,将关注点分离,提高代码的可复用性和可维护性。 【AOP 术语解析】 1. **Aspect(切面)**:切面是封装了横切关注点的类,比如事务管理、日志记录...
Spring AOP提供了两种主要的实现方式:代理模式和AspectJ字节码增强。代理模式包括JDK动态代理和CGLIB代理。JDK动态代理适用于实现了接口的类,而CGLIB代理则可以在没有接口的情况下工作,通过字节码技术创建被代理...
1. 通知(Advice):这是AOP术语中最核心的概念。通知定义了切面应用到目标对象时所要执行的行为。它代表了“何时”(何时执行)和“做什么”(执行什么动作)。通知类型包括前置通知(Before)、后置通知(After)...
2、理解AOP中的相关术语; 3、了解Spring中两种动态代理方式的区别; 4、掌握基于XML和注解的AspectJ开发。 二、 实验内容 1、按图所示的类图结构,设计接口及其实现类,并完成另外两附加要求:(1)日志功能:在...
#### 三、AOP的基本术语 - **切面(Aspect)**:一个关注点的模块化,通常由一组通知构成。 - **连接点(Joinpoint)**:程序执行中的特定点,如方法调用或异常抛出。 - **通知(Advice)**:在特定的连接点上执行的...
在讨论Spring AOP(面向切面编程)时,首先需要理解几个核心概念。Spring AOP 是Spring框架提供的一个功能模块,它允许开发者将横切关注点(cross-cutting concerns)从业务逻辑中解耦出来,通过在方法调用前后进行...
本文将深入探讨Spring AOP的基本概念、核心术语以及如何通过实例来应用它。 ### 1. Spring AOP 概念 - **切面(Aspect)**: 切面是关注点的一个模块化,它包含了横切关注点的定义。在Spring中,切面可以是独立的类...
Spring AOP主要通过动态代理来实现,有两种代理方式: - **JDK动态代理**: 适用于接口,通过反射创建目标对象的代理对象,实现在目标方法执行前后插入通知。 - **CGLIB动态代理**: 如果目标类没有实现接口,Spring...
AOP技术的关键在于理解和运用其核心概念和技术实现细节,下面将详细介绍AOP的专用术语及其关键技术。 ##### 2.1 AOP术语定义 - **关注点(Concern)**:指一个具体的业务目的或功能需求。例如,一个银行系统的业务...
通过以上详细说明,可以看出 JBoss AOP 不仅提供了一套强大的 AOP 框架,而且还包括了一系列实用的工具和资源,旨在帮助开发人员更好地理解和应用 AOP 技术。无论是对于初学者还是有经验的开发者来说,JBoss AOP 都...
【Spring-AOP 知识点详解】 Spring AOP(面向切面编程)是Spring框架的重要组成部分,它旨在解决传统面向对象编程(OOP)中交叉业务逻辑分散在多个...理解和熟练掌握AOP,对于开发高效、模块化的Spring应用至关重要。
### Spring2-AOP入门实例教程知识点详解 #### 一、Spring框架...以上是基于《深入Spring2:轻量级J2EE开发框架原理与实践》一书中的知识点总结,希望能帮助初学者更好地理解和掌握Spring AOP的相关概念和使用方法。
Spring AOP主要通过两种方式实现:代理模式和ASM字节码操作。代理模式下,Spring可以创建JDK动态代理或CGLIB代理对象,来实现切面的插入。ASM字节码操作则允许在运行时对类进行修改,实现更灵活的切面织入。 四、...