AOP(Aspect Oriented Programming,面向切面编程)是经过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。利用AOP能够对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度下降,提升程序的可重用性,同时提升了开发的效率。html
在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注解指定切面的执行顺序。性能