Spring Boot 12 : AOP

AOP(Aspect Oriented Programming)意为“面向切面编程”。面向切面编程的目标就是分离关注点。


注:关于AOP的知识请查阅类别:Spring系列文章

pom.xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
定义切面
@Aspect
@Component
public class ControllerAop {

}
注解详情

@Pointcut注解
@Pointcut 注解,用来定义一个切面(切入点)。

@Before注解
@Before 注解指定的方法在切面切入目标方法之前执行,可以做一些日志处理,做一些信息的统计,比如获取用户的请求 URL 以及用户的 IP 地址等等。

@After注解
@After 注解指定的方法在切面切入目标方法之后执行,也可以做一些完成某方法之后的日志处理。

@AfterReturning注解
@AfterReturning 注解和 @After 有些类似,区别在于 @AfterReturning 注解可以用来捕获切入方法执行完之后的返回值,对返回值进行业务逻辑上的增强处理。

@AfterThrowing注解
@AfterThrowing 当被切方法执行过程中抛出异常时,会进入 @AfterThrowing 注解的方法中执行,在该方法中可以做一些异常的处理逻辑。

@Around注解
@Around注解可以同时在所拦截方法的前后执行一段逻辑。

猜你喜欢

转载自www.cnblogs.com/yang21/p/10668397.html