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); }

浙公網安備 33010602011771號