1、Before Advice:
示例步骤如下:
1、配置文件如下:
<context:component-scan base-package="com.wuyonghu" />
//这里的aop:aspectj-autoproxy标签必须有,否则无效,相当于是aspectj的自动代理
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
2、定义切面类:
package com.wuyonghu.aspectj;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Component("aspect")
@Aspect
public class MoocAspect {
@Before("execution(* com.wuyonghu.aspectj.AspectjBiz.*(..))")
public void before(){
System.out.println("切面类中的before方法执行了。。。");
}
}
3、定义业务类:
package com.wuyonghu.aspectj;
import org.springframework.stereotype.Service;
@Service
public class AspectjBiz {
public String save(String arg){
System.out.println("AspectBiz中的save方法执行了");
return "success";
}
}
4、测试类:
package com.wuyonghu.aspectj;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@RunWith(BlockJUnit4ClassRunner.class)
public class AspectjTest {
@Test
public void test1() {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
AspectjBiz biz=(AspectjBiz) context.getBean("aspectjBiz");
biz.save("海賊王");
}
}