谈谈你对spring aop的理解

谈谈你对AOP的理解

  • AOP是面向切面编程,我感觉aop与动态代理是一家,因为aop的实现原理即时基于动态代理实现的。
  • AOP的具体思想就是: 只专注纵向的业务逻辑处理,而不考虑这样或那样的共性内容。日志就是最好的体现方式.
  • AOP解决的一大问题就是:大量的重复性代码
  • 需要做一个日志的功能,即需要在每条线上都进行日志的处理,我们是不是要这么写?

这里写图片描述
这样有很多条线中都包含了一段相同的日志的处理业务代码,你怎么看?抽出来呗,作为公共的部分,被调用。
然后呢,到这里我们还没有结束,为什么这么说?

这样每个方法都和这个公共的功能类有关联关系,这里只是我们的抽出公共代码,解决了代码重复。我们需要做的是“解耦”,将业务类和这个公共的功能类之间的耦合解开,在运行的时候动态的给切入到每个运行的业务类中,那么怎么实现呢?

  • AOP实现业务和切入类的解耦。

    AOP是如何实现的呢?借助动态代理。动态代理的一个最大特征就是可以延迟对象的加载,即在运行期再确定调用者和被调用者的关系。AOP也就是利用了动态的这个特征来实现的解耦。

  • AOP的主要应用

    这里写图片描述
    这张图也形象的展示了,软件的纵向业务发展,和软件的横向AOP切入的原理。我觉得以后,我们的开发可以更多的抽取这样的切面,让每个系统的开发只专注于核心的业务,而不考虑这样,那样的共性问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值