什么是AOP?
AOP(Aspect Oriented Programming) 即面向切面编程,是OOP(Object Oriented Programming、面向对象编程)的一个延续,是OOP的一个进阶。在Java的Spring中,Aop显得格为重要。
AOP能干什么?
AOP能给我们带来很大的便利,利用AOP可以将业务进行隔离(比如说:对登录的统一校验),降低业务之间的耦合程度,也可以减少项目中的重复代码,大大的提高了项目的重用性和开发效率。其主要使用在日志统一管理、安全验证、各种接口请求统计、对异常的处理。
AOP的常用注解
@Aspect:声明该类为一个注解类;
@Pointcut:定义一个切点,后面跟随一个表达式,表达式可以定义为切某个注解,也可以切某个 package 下的方法;
@Before: 在切点之前,执行相关代码;
@After: 在切点之后,执行相关代码;
@AfterReturning: 在切点返回内容后,执行相关代码,一般用于对返回值做些加工处理的场景;
@AfterThrowing: 用来处理当执行的代码抛出异常后的逻辑处理;
@Around: 环绕,可以在切入点前后执行代码,并且可以自由的控制何时执行切点