我对Spring的aop的理解

来源:互联网 发布:java编程软件 编辑:程序博客网 时间:2024/04/23 16:24

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

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

1.我们自己定义的接口

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

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

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

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




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


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






其实,本文都是在看了韩老师的视频之后写的。











0 0