Aspect註解實現簡單的切面
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();