1. 程式人生 > >Aspect註解實現簡單的切面

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();