我对Spring的aop的理解

        首先,我认为我们应该先明确为什么会有aop?我们给出这样的需求:在所有的service被调用之前完成校验功能。如果按我们的常规思路:对每个service调用之前执行校验功能,但是这样冗余代码太多,我们的工作量也会变大。那有没有一种简单的办法呢?答案就是使用aop。那么什么是aop呢?aop就是面向切面编程。那什么又是切面呢?我们接下来慢慢分析。

首先,我们来明确几个概念。

1.我们自己定义的接口

2.实现我们自定义接口的类(也叫目标对象)

3.实现我们的功能(也就是上面提到的校验功能)的类,实现的功能就叫通知,这个类必须实现spring给我们提供的5种接口中的一种,至于是哪5种接口,接下来会说明。

4.代理对象(就是联系通知和我们的目标对象的对象),该对象只需配置,无需编写。

接下来我们看一张图片进行理解




通过这张图片我们可以清楚的看到目标对象,代理对象以及其他各种概念。上图主要是以前置通知为例进行的图示。


另外,附上对代理对象的配置代码:



说明:被代理的对象类实现了代理的接口集中的TestServiceInter接口。代理对象的配置是最复杂的,里面要配置多个属性。














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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值