SpringBoot应用AOP

1.在pom.xml里添加依赖
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2.编写切面类
@Configuration,用于生命这个是一个Spring管理配置类
@Aspect 声明了这是一个切面类
@Around声明了一个表达式 如@within表达目标类型带有注解,
所有Controller在被调用的时候,都会执行@Around注解的方法,也就是aimpleAop方法。
pjp.proceed()是在执行完切面后会调用原有的业务方法,并将返回对象返回。

@Configuration
@Aspect
public class AopConfig {
    @Around("@within(org.springframework.stereotype.Controller)")
    public Object aimpleAop(final ProceedingJoinPoint pjp) throws Throwable{
        try{
            Object[] args = pjp.getArgs();
            System.out.print("args:"+ Arrays.asList(args));
            Object o = pjp.proceed();
            System.out.print("return:"+ o);
            return o;
        }catch(Throwable e){
            throw e;
        }
    }
}



猜你喜欢

转载自blog.csdn.net/oGuiGui12345/article/details/80203441
今日推荐