springboot AOP配置

在Springboot中添加AOP配置分两步:

最近学习AOP ,记录一下,虽然很多名字不太清楚,但是问题不大

1:在pom.xml中添加AOP依赖

2:建一个AOP配置类

 

 下面来看下代码是怎么实现的:

1:在pom.xml中添加AOP依赖

<!--引入AOP依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>

 

2:建一个AOP配置类,我的类名是 MyAspect

package com.yyy.config;

import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component;

/**
 * @auther YueYangyang
 * @date 2020/7/4 15:41
 */
@Aspect
@Component
public class MyAspect {

    @Pointcut("execution(* com.yyy.service.*.*(..))")
    public void Aspect(){
        System.out.println("这是切面aop");
    }

    @Before("Aspect()")
    public void beforeAspect(){
        System.out.println("这是切面aop  前置方法");
    }

    @After("Aspect()")
    public void afterAspect(){
        System.out.println("这是切面aop  后置方法");
    }

    @AfterReturning("Aspect()")
    public void afterReturningAspect(){
        System.out.println("这是切面aop  后置方法 回调方法");
    }

    @AfterThrowing("Aspect()")
    public void afterThrowingAspect(){
        System.out.println("这是切面aop  异常处理方法");
    }
}

 

其中  @Pointcut("execution(* com.yyy.service.*.*(..))") 是什么意思呢?它表示调用 com.yyy.service 路径下的所有方法 都会执行下 Aspect 方法,

@Before("Aspect()")   Before注解的意思是在 Aspect() 方法执行前执行

@After("Aspect()")   Before注解的意思是在 Aspect() 方法执行后执行等等。记提看代码上面 有写

 

 

为了方便理解 ,我把com.yyy.service 下面的代码贴出来

package com.yyy.service;

import com.yyy.pojo.User;
import org.springframework.stereotype.Service;

@Service
public interface UserService {
    User queryById(User user);
}

 

posted @ 2020-07-15 21:11  绿色的草  阅读(1424)  评论(0编辑  收藏  举报