大家好,我是曜耀。
今天来讲讲,SpringAOP的知识。对于我们程序员来说,一提到AOP就很舒服,因为使用AOP可以让我们在执行代码过程中,可以随意的对某些代码块进行一些修改,列如:控制事务这是最基本的,安全验证服务,和记录日志等等。
AOP的统一的解释就是面向切面的编程,不过我个人觉得,AOP从开始是点到线,在推演到目前的面向切面的编程。主要是通过预编译方式和运行期动态带理来实现对代码运行是的维护技术。不得不说AOP对于我们程序员啦说算得一门福利了。不仅如此对于Spring来说AOP是它的框架里的一个重要的内容。
AOP的主要功能。我刚才也说了就是:日记记录和安全控制,事务处理,性能的统计,还有我们熟悉的异常处理。
AOP的核心概念,我们都有一些了解,差不多有横切关注点,切面,连接点,切入面,通知(注意这是面试时很大部分要考的),目标对象,织入,引入。其中我觉得连接点和通知,织入,切入点这些时相对来说比较重要的,接下来我就一一介绍一下。
横切关注点:主要是我们要对一些方法进行拦截,拦截了进行怎样的处理,这些关注点就是横切关注点。
切面:不用我说,顾名思义,是我们对横切关注点的抽象。
连接点:被拦截到的点,因为Spring目前支持方法类型的连接点,在Spring中的拦截点就是被拦截的方法,有时候也可以是字段或者构造器。
切入点:差不多就是对进行拦截的定义。不需要深刻理解。
通知(注意这个是面试的考点重复一下):通知有:前置,后置,最终,异常,环绕五个。
我就大概这么讲一下,对此有的朋友对一些知识理解的不是很好,可以自己搜查这个是比较发方便的。
接下来就讲一讲,面试的考点:通知
当你面试时遇到这种情况,你可能就比较幸运,对于我们来说,这都是一些小问题的。
前置通知:就是在连接点前面执行的,前置通知不会影响连接点的运行,如果是在这抛出异常,就会影响。
异常通知:就是连接点抛出异常后运行。
后通知:不管连接点出了异常还是正常,都会返回通知的。
环绕通知:嗯这个是前通知和后通知的合体吧,不过环绕通知对于我们来说还是很重要的,他不仅通知还负责决定继续连接点,还是终止运行。