javascript
!Spring Aop中四个重要概念,切点,切面,连接点,通知
一、基本概念
1. 通知: 就是我们编写的希望Aop时额外执行的那个方法。我们通过Aop希望我们编写的方法在目标方法执行前执行,或者执行后执行。
2. 切点:切点就是我们配置的满足我们条件的目标方法。比如我们规定:名字前面是select开头的才执行我们自定义的通知方法。那么这些select开头的方法就是切点。
3. 连接点:连接点可以说是切点的全集。切点是连接点的子集。也可以理解为,连接点是我们没有定义那个select开头规则时,满足条件的全部方法。
4. 切面:切面是切点和通知的合称,作为切点切面的统称。
二、概念说明
1、为什么要用AOP
1)就是为了方便,国外有一个很有名的大师曾经说过,编程的人都是“懒人”,因为他把自己做的事情都让程序去做了。用了AOP能让你少写很多代码,这点就够充分了吧。
2)就是为了更清晰的结构,一方面AOP可以让你的业务逻辑去关注业务本身,而不需要处理与业务不相关的事情。这些其他的事情是重复调用的,例如:安全,事物,日志等。另一方面,例如日志,在不同的地方实现的是同一套逻辑,这样就可以抽取出来,作为一个通知,然后引入到各个模块。
2、AOP术语详解
初看这么多术语,一下子都不好接受,慢慢来,很快就会搞懂。
3、代码演示:
@Aspect //声明切面,标记类
public class Audience {
@Pointcut("execution(* *.perform(..))") //定义切点,标记方法
public void performance() {}
@Before("performance()") //切点之前执行
public ....
@AfterReturning("performance()") //切点之后执行
public ...
@AfterThrowing("performance()") //切点抛出异常后执行
public ...
}
<aop:config>
<aop:aspect ref="audience"> //切面代码Bean,标记类
<aop:pointcut id="performance" expression="excution(* *.performance(..))" /> //定义切点,标记方法
<aop:before method="..." pointcut-ref="performance" /> //前后通知babalalal
<aop:after-returnning method="..." pointcut-ref="performance" />
<aop:after-throwing method="..." pointcut-ref="performance" />
</aop:aspect>
</aop:config>
总结
以上是生活随笔为你收集整理的!Spring Aop中四个重要概念,切点,切面,连接点,通知的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 电动车充电起火 5人死亡:判刑6年!
- 下一篇: Spring AOP(通知、连接点、切点