SpringAOP

spring aop

 

Aspect:
切面:
     举个形象的例子,就像我们在高速上卡车,沿着笔直的线路在走,入口处我们要
经过一个收费站横着将我们的道路挡住,出口处也有一个收费站横着将我们的道路挡住,
在入口处我们要交费,否则不允许进入,在出口处我们也要交费否则不允许出去,那么
这两个收费站就是我们的切面。就像我们的程序执行一样,在一条线上走的时候,中间就会
切入各种的业务,我们称这样的业务为切面。
那么切面就是一个业务类,在我们执行一个事务时,它会切入进来或者前面或者后面或者出现某种异常

 

 

Advice:
定义我们在何时切入,还是举走高速的例子:
       当我们驾车时,从北京上高速,那么北京交通局就会考虑在车辆进入的时候收费,
到达河北后,我们要出高速,那么河北交通局就会考虑在车里出去的时候收费,当我们走到途中
感觉车上油不多了,那么加油站就会切入。就像我们的程序,当我调用Action时,我可以在其进入
之前就切入,执行一些逻辑,当我们调用service方式时,我们可以在其进入之前进行切入,当然在
这个过程中,如果我们发生了异常,那么异常处理的Ascpet就可以切入。
总的来说我们包括三方面的切入,
1、在之前切入
2、在之后切入
3、在出现异常时切入
在Spring的Advice方式中只支持方法上的切入。

 

 

 

Pointcut
定义我们在那些规则上切入,还是走高速的例子:
   1、我们可以对所有军车不收费进高速
   2、对普通车收费进高速
   3、对所有车收费进高速
换成我们的程序就是,例如我们可以只对,添加的方法切入一些Aspect
也可以对所有的方法切入Aspect。

 

 

Weave
这个单词叫织入,其实上面所说的切入就是织入

 

 

 

JoinPoint
定义我们的织入点,还是高速:
  高速上所有运行的车都有可能成为织入点,只要他们满足我们的


Pointcut定义规则,放到我们程序中就是一个个的方法,具体的方法。

如下图所示:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值