1.添加类库:aspectjrt.jar和aspectjweaver.jar
com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
com.springsource.org.aspectj.tools-1.6.6.RELEASE.jar
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.7.1</version>
</dependency>
2.添加aop schema.
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd"
3.定义xml元素:<aop:aspectj-autoproxy>4.编写java类,并用@Aspect注解成通知,AspectJ 支持 5 种类型的通知注解:
@Before: 前置通知, 在方法执行之前执行
@After: 后置通知, 在方法执行之后执行
@AfterRunning: 返回通知, 在方法返回结果之后执行
@AfterThrowing: 异常通知, 在方法抛出异常之后
@Around: 环绕通知, 围绕着方法执行
配置成普通bean元素即可.
前置通知:@Before
@Aspectpublic class MyAspectjAdvice {@Before("execution(* WelcomeService.*(..))")
public void sayHello(){..}
@Before("execution(* WelcomeService.*(..))")