切面类: 

package com.atChina.Test6;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

/**
 * @Aspect:来自aspectj框架,表示当前类是切面类
 * 切面类是用来给业务方法增强功能的类
 */
@Aspect
public class MyAspect {
	
	@After(value="mpt()")
	public void myAfter(){
		System.out.println("最终通知..总是会被执行..");
	}
	
	@Before(value="mpt()")
	public void myBefore(){
		System.out.println("前置通知.........");	
	}

	/*
	 * @Pointcut:管理和定义切入点,不是通知注解.如果切面中有多个通知使用相同的切入点表达式
	 * 			 可以使用@Pointcut集中定义切入点
	 *       属性:value, 切入点表达式
	 *       位置:在自定义的方法上面
	 *       
	 *  特点:
	 *    1. 集中定义和管理切入点
	 *    2. 使用 @Pointcut定义的方法,就是切入点的别名。
	 *         其他通知注解的value属性可以使用方法名,表示切入点.
	 */
	@Pointcut(value="execution(* *..SomeServiceImpl.doAfter(..))")
	private void mpt(){
		// 不需要代码
	}
}