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