发现个很蠢的问题,为什么new了对象,不能使用那个方法,后面发现原来只能在主函数中调用对象。。。
package com.smart.aspectj;
import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;
import com.smart.advice.NaiveWaiter;
import com.smart.advice.Waiter;
public class AspectJProxyTest {
Waiter waiter=new NaiveWaiter();
AspectJProxyFactory factory=new AspectJProxyFactory();
factory
//会显示没有factory,报错的原因,没有主函数
}
第二次在JUnit测试就可以正常使用了
package com.smart.aspectj;
import org.junit.Test;
import org.springframework.aop.aspectj.annotation.AspectJProxyFactory;
import com.smart.advice.NaiveWaiter;
import com.smart.advice.Waiter;
public class AspectJProxyTestTest {
Waiter target=new NaiveWaiter();
AspectJProxyFactory factory=new AspectJProxyFactory();
@Test
public void test() {
//设置目标对象
factory.setTarget(target);
//添加切面类
factory.addAspect(PreGreetingAspect.class);
//生成织入切面的代理对象
Waiter proxy = factory.getProxy();
proxy.greetTo("john");
proxy.serveTo("john");
}
}