@Before是在所拦截方法执行之前执行一段逻辑。
@After 是在所拦截方法执行之后执行一段逻辑。
@Around是可以同时在所拦截方法的前后执行一段逻辑。
spring只支持方法连接点
@Aspect
@Component
public class LogIntercept {@Pointcut ( "execution(* com.ncx.controller.*.*(..))" )public void recordLog(){}@Before ( "recordLog()" )public void before() {this .printLog( "已经记录下操作日志@Before 方法执行前" );}@Around ( "recordLog()" )public void around(ProceedingJoinPoint pjp) throws Throwable{this .printLog( "已经记录下操作日志@Around 方法执行前" );pjp.proceed();this .printLog( "已经记录下操作日志@Around 方法执行后" );}@After ( "recordLog()" )public void after() {this .printLog( "已经记录下操作日志@After 方法执行后" );}private void printLog(String str){System.out.println(str);}
}