Spring AOP ,面向切面
2017-04-17 14:55
267 查看
AOP有自己的术语(虽然大多数用于描述AOP功能的术语并不直观)。描述切面的常用术语有通知(advice)、切点(pointcut)和连接点(join point)。下图展示了这些概念是如何关联在一起的。
Spring切面可以应用5种类型的通知:
前置通知(Before):在目标方法被调用之前调用通知功能;
后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么;
返回通知(After-returning):在目标方法成功执行之后调用通知;
异常通知(After-throwing):在目标方法抛出异常后调用通知;
环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。
Spring提供了4种类型的AOP支持:
基于代理的经典Spring AOP;
纯POJO切面;
@AspectJ注解驱动的切面;
注入式AspectJ切面(适用于Spring各版本)。
前三种都是Spring AOP实现的变体,Spring AOP构建在动态代理基础之上,因此,Spring对AOP的支持局限于方法拦截。
Spring只支持方法级别的连接点
AOP是面向对象编程的一个强大补充。通过AspectJ,我们现在可以把之前分散在应用各处的行为放入可重用的模块中。我们显示地声明在何处如何应用该行为。这有效减少了代码冗余,并让我们的类关注自身的主要功能。
Spring提供了一个AOP框架,让我们把切面插入到方法执行的周围。现在我们已经学会如何把通知织入前置、后置和环绕方法的调用中,以及为处理异常增加自定义的行为。
关于在Spring应用中如何使用切面,我们可以有多种选择。通过使用@AspectJ注解和简化的配置命名空间,在Spring中装配通知和切点变得非常简单。
最后,当Spring AOP不能满足需求时,我们必须转向更为强大的AspectJ。对于这些场景,我们了解了如何使用Spring为AspectJ切面注入依赖。
此时此刻,我们已经覆盖了Spring框架的基础知识,了解到如何配置Spring容器以及如何为Spring管理的对象应用切面。正如我们所看到的,这些核心技术为创建松散耦合的应用奠定了坚实的基础。现在,我们越过这些基础的内容,看一下如何使用Spring构建真实的应用。从下一章开始,首先看到的是如何使用Spring构建Web应用。
Spring切面可以应用5种类型的通知:
前置通知(Before):在目标方法被调用之前调用通知功能;
后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么;
返回通知(After-returning):在目标方法成功执行之后调用通知;
异常通知(After-throwing):在目标方法抛出异常后调用通知;
环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。
Spring提供了4种类型的AOP支持:
基于代理的经典Spring AOP;
纯POJO切面;
@AspectJ注解驱动的切面;
注入式AspectJ切面(适用于Spring各版本)。
前三种都是Spring AOP实现的变体,Spring AOP构建在动态代理基础之上,因此,Spring对AOP的支持局限于方法拦截。
Spring只支持方法级别的连接点
AOP是面向对象编程的一个强大补充。通过AspectJ,我们现在可以把之前分散在应用各处的行为放入可重用的模块中。我们显示地声明在何处如何应用该行为。这有效减少了代码冗余,并让我们的类关注自身的主要功能。
Spring提供了一个AOP框架,让我们把切面插入到方法执行的周围。现在我们已经学会如何把通知织入前置、后置和环绕方法的调用中,以及为处理异常增加自定义的行为。
关于在Spring应用中如何使用切面,我们可以有多种选择。通过使用@AspectJ注解和简化的配置命名空间,在Spring中装配通知和切点变得非常简单。
最后,当Spring AOP不能满足需求时,我们必须转向更为强大的AspectJ。对于这些场景,我们了解了如何使用Spring为AspectJ切面注入依赖。
此时此刻,我们已经覆盖了Spring框架的基础知识,了解到如何配置Spring容器以及如何为Spring管理的对象应用切面。正如我们所看到的,这些核心技术为创建松散耦合的应用奠定了坚实的基础。现在,我们越过这些基础的内容,看一下如何使用Spring构建真实的应用。从下一章开始,首先看到的是如何使用Spring构建Web应用。
相关文章推荐
- Spring的面向切面AOP
- 深入分析JavaWeb 53 -- Spring中的AOP面向切面编程1
- Spring面向切面编程AOP的个人理解
- Spring(十一)使用Spring的注解方式实现面向切面技术AOP
- 【Spring】面向切面之AOP
- 使用Spring进行面向切面(AOP)编程
- Spring——使用Spring的注解方式实现面向切面技术AOP
- spring_由注解实现AOP面向切面编程_实现动态代理
- SpringAOP入门-面向切面编程
- Spring概念学习--面向切面AOP
- Spring.Net 面向切面AOP
- Spring学习4-面向切面(AOP)之schema配置方式
- Spring3.0 学习-AOP面向切面编程_Spring AOP的XML配置模式
- Spring AOP:面向切面编程简介
- Spring核心机制(面向切面编程AOP)
- Spring笔记——使用Spring进行面向切面(AOP)编程
- springboot之aop面向切面处理
- Spring学习4-面向切面(AOP)之aspectj注解方式
- 面向切面(AOP)之Spring接口方式 schema配置方式 aspectj注解方式
- spring中面向切面编程AOP的简单应用