Spring中的AOP(Aspect Oriented Programming,面向切面编程)是一个很重要的技术,作为使用Spring的程序员,对了解和使用时及其重要的!
引入
就拿我一天的行程做例子。
这就是我也是每个人要经历的一天,现在需要这样一个功能,我想知道我每天都是在哪个时间点去做哪件事(系统里的日志功能)。
这里要是不使用AOP机制的话,我就要自己主动的去记录,如:我起床要记录一下时间,中午吃饭要记录一次时间,晚上睡觉要记录一次时间,显然这对于我是不现实的,我是三天打渔两天晒网,决不能达到每次都能之准确的记载!这个时候有了AOP,我就不需要操这个心了,我早起,吃饭,睡觉的前后,都会将记录这件事托管给AOP,我可以安安心心的快快乐乐的度过一天了。
在web系统里也是这样,我想对一些很重要的操作,比如操作数据库,或者操作某张表,我都不需要再花任何操作去主动的记录操作者和操作时间,而是将这一记录功能过托管给AOP,这样在主要的业务逻辑中,我就不会多写一行代码。
术语
| 名称 | 作用 |
|---|---|
| 通知(Advice) | 通知定义了切面是什么几何时使用 |
| 连接点(Join point) | 应用里可能有数以千计的时机应用通知。这些时机被称为连接点 |
| 切点(Pointcut) | 如果说通知定义了切面的“何时”“什么”的话,那么切点就定义了“何处” |
| 切面(Aspect) | 切面是通知和切点的结合:它是什么,在何时和何处完成其功能 |
| 引入(Introduction) | 引入允许我们向现有的类添加新方法或属性 |
| 织入(Weaving) | 织入是把切面应用到目标对象并创建心得代理对象的过程 |
通知方法
下面就是我们关心的几个注解的解释
| 注解 | 通知 |
|---|---|
| @After | 通知方法在目标方法返回或抛出异常后调用 |
| @AfterReturning | 通知方法会在目标方法返回后调用 |
| @AfterThrowing | 通知方法会在目标方法抛出异常后调用 |
| @Before | 通知方法在目标方法调用之前执行 |
| @Around | 通知方法会在目标方法封装起来(可代替前四个注解) |
以上就是aop的简单介绍,下面两篇是aop功能和aop处理参数功能的实现介绍

本文介绍了Spring框架中的面向切面编程(AOP)技术,通过日常生活中的例子来解释AOP的概念及其实现方式。文章还详细解释了AOP中的关键术语,如通知、连接点、切点等,并介绍了不同类型的注解及其用途。
3万+

被折叠的 条评论
为什么被折叠?



