spring AOP

老子现在有这样一个场景,在某方法是操作数据库的增查删改
调用方法前,老子需要连接数据库,
调用方法之后,老子要跟数据库断开,
调用过程中数据库发生错误,老子要把事务回滚。

为迎合这种场景,aop被搞出来了。

使用方法:创建一个代理proxy类,这个代理类可以 指定到一个类A

bean实例化的是proxy类,这个proxy类可以使用A类的任何方法。


同时proxy类中有 4 种类型通知(advices)【前,后,抛出,环绕。实际使用中多使用环绕,因为环绕包含前3种通知】,
接到通知时可以自己实现需要怎么处理(通知内可以获得执行方法的名称和参数),
比如方法执行前,老子要连接数据库。

但在一个类中,老子只想对类中的个别方法用aop这招,不是全部方法,
那就使用切入点
cut 指定mappedName的value为需要拦截的方法
Advisor 将 值为 cut 的 pointcut 传入 proxy

ps.  
proxy类可以使用BeanNameAutoProxyCreator或DefaultAdvisorAutoProxyCreator 自动创建
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值