AOP(Aspect Oriented Programming,面向切面编程)是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
在Spring AOP中业务逻辑仅仅只关注业务本身,将日志记录、性能统计、安全控制、事务处理、异常处理等代码从业务逻辑代码中划分出来,从而在改变这些行为的时候不影响业务逻辑的代码。
相关注解介绍:
注解 | 作用 |
---|---|
@Aspect | 把当前类标识为一个切面 |
@Pointcut | Pointcut是织入Advice的触发条件。每个Pointcut的定义包括2部分,一是表达式,二是方法签名。方法签名必须是public及void型。可以将Pointcut中的方法看作是一个被Advice引用的助记符,因为表达式不直观,因此我们可以通过方法签名的方式为此表达式命名。因此Pointcut中的方法只需要方法签名,而不需要在方法体内编写实际代码。 |
@Around | 环绕增强,目标方法执行前后分别执行一些代码 |
@AfterReturning | 返回增强,目标方法正常执行完毕时执行 |
@Before | 前置增强,目标方法执行之前执行 |
@AfterThrowing | 异常抛出增强,目标方法发生异常的时候执行 |
@After | 后置增强,不管是抛出异常或者正常退出都会执行 |
https://www.cnblogs.com/wangdahui/p/13048222.html
对于同一个连接点,可能同时存在多个切面,在组织切面时,可以通过@Order注解指定切面的执行顺序。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。