1.使用Aspect,注意首先下载需要的jar包,导入工程。
2.需要一个类作为切面类。
3.切面类代码:
@Aspect
public class Aop {
@Pointcut("execution(* *.eat(..))") (两个星号代表匹配所有eat方法,@Pointcut("execution(* bean.North.eat(..))")则对应的一个方法)
public void eat(){};
//前置方法
@Before("eat()")
public void before(){
System.out.println("方法之前...");
}
//后置方法
@After("eat()")
public void behind(){
System.out.println("方法之后...");
}
}
4.xml 中添加: <aop:aspectj-autoproxy/> <!-- 要添加本行 -->
5.错误提示:
ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml");//利用文件系统查询applicationContext.xml配置文件
Person p = (North) ac.getBean("north");
p.eat();
********** com.sun.proxy.$Proxy8 cannot be cast to bean.North (控制台错误提示)!
改为:
ApplicationContext ac = new FileSystemXmlApplicationContext("src/applicationContext.xml");//利用文件系统查询applicationContext.xml配置文件
Person p = (Person) ac.getBean("north");
p.eat();