Spring 中创建通知

这些通知类型,结合方法调用连接点,可以完成90%的AOP工作,对于剩下的不常用的10%,我们可以依赖 AspectJ来做。

AspectJ是什么东西?没用过。。。


前置通知  
接口:org.springframework.aop.MethodBeforeAdvice
说明:使用前置通知可以在连接点执行前进行自定义的操作。
不过,Spring里只有一种连接点,即方法调用,所以前置通知事实上就是让你能在方法调用前进行一些操作。前置通知可以访问调用的目标方法,也可以对该方法的参数进行操作,不过它不能影响方法调用本身。

后置通知
接口:org.springframework.aop.AfterReturningAdvice
说明: 后置通知中不能修改方法返回值,虽然不能修改返回值,但我们可以抛出一个异常,这样调用方法就只能看到这个异常而不是返回值了。(对于返回值不正确的情况下)

包围通知
接口:org.springframework.aop.MethodInterceptor
说明:Spring中的包围通知根据AOP联盟的方法拦截器标准建模。包围通知可以在目标方法之前和之后运行,我们也可以定义在什么时候调用目标方法。如果需要,我们也可以另写自己的逻辑而完全不调用目标方法。 包围通知可以修改方法的返回值

抛出通知
接口:org.springframework.aop.ThrowsAdvice
说明:抛出通知仅当方法调用抛出一个异常的时候才被调用,它在目标方法调用返回时才被执行。抛出通知可以只捕获特定的异常,我们可以访问抛出异常的方法,传入调用的参数以及调用的目标方法。

引入
接口:org.springframework.aop.IntroductionInterceptor
说明:Spring将引入看成一个特殊的拦截器。 使用引入拦截器,我们可以定义通知引入的方法的实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值