使用Spring AOP前需要先引入相應的包
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.8.10</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.10</version> </dependency>
然後創建切面類
1 package com.homework.filter; 2 3 import org.aspectj.lang.ProceedingJoinPoint; 4 import org.aspectj.lang.annotation.Around; 5 import org.aspectj.lang.annotation.Aspect; 6 import org.aspectj.lang.annotation.Before; 7 import org.springframework.stereotype.Component; 8 9 /** 10 * Created by ytt on 2017/1/11. 11 */ 12 13 @Aspect 14 @Component 15 public class LoginCheckAspect { 16 17 @Around(value = "@annotation(org.springframework.web.bind.annotation.RequestMapping)") 18 public Object checkUser(ProceedingJoinPoint pjp) throws Throwable { 19 20 //獲取參數 21 Object[] args = pjp.getArgs(); 22 System.out.println("在進入方法之前"); 23 //放行 24 Object proceed = pjp.proceed(); 25 System.out.println("執行完方法之後"); 26 return proceed; 27 } 28 29 @Before("execution(* com.homework.controller..*.*(..))") 30 public void before(){ 31 System.out.println("在方法執行之前執行"); 32 } 33 }
這樣就能完成攔截了