Spring 中的Aop 的理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 中的Aop 的理解相关的知识,希望对你有一定的参考价值。

也是闲来无事,所有从头再把Spring 实战通读一下。

1.介绍面向切面编程的原理。

2.通过POJO创建切面。

3.使用注解@AspectJ。 

4为切面注入依赖。

下面主要围绕上面这四点开始介绍

首先,切面能帮助我们做什么? 专业一点就是可以帮助我们模块化横切关注点。【横切关注点】描述为影响应用多处的功能。(安全,事务,其他,等)

划分多个模块,每个模块的核心都需要为特定的业务领域提供服务,但是这些模块也都需要类似的辅助功能。

想要重用这些功能的话,常见的就是面向对象的继承(inheritance)和委托(delegation)。

       切面提供了取代继承和委托的另一种可选方案。

在使用面向切面编程时,我们还是在一个地方定义通用的功能,但是可以通过声明的方式定义这个功能要以何种方式在何处应用。

而无需修改受影响的类。横切关注点可以模块化为一个特殊的类,这些类又被称为 切面(aspect)

这样做的好处就是,现在的每个关注点都集中在了一个地方。而不是分散到多处代码中。降低了耦合,再者就是简洁,它们这些类只包含关注点的代码,二次要的关注点代码被转移到了切面中。]

Aop 相关术语

 

通知(Advice)定义了切面是什么以及什么时候使用。

  前置通知(Before):在目标方法被调用之前调用通知功能

  后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么;

  返回通知(After-returning):在目标方法成功执行之后调用通知;

  异常通知(After-throwing):在目标方法抛出异常后调用通知;

  环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为。



以上是关于Spring 中的Aop 的理解的主要内容,如果未能解决你的问题,请参考以下文章

正确理解Spring AOP中的Around advice

理解Spring中的IOC和AOP

如何理解Spring中的IOC和AOP

Spring 中的Aop 的理解

Spring学习记录---AOP理解

Spring中的AOP概念