Spring之注解形式AOP的实现
一、创建注解实现类:LogAnnotation.java
package org.ruangong.aop;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Component("logAnnotation")
@Aspect //声明该类是一个通知
public class LogAspectAnnotation {
//声明该方法是前置通知
@Before("execution(public void org.ruangong.service.StudentServiceImpl.addStudent(org.ruangong.entity.Student))")
public void myBefore(){
System.out.println("《注解实现前置通知...》");
}
//声明该方法是后置通知
@AfterReturning("execution(public void org.ruangong.service.StudentServiceImpl.addStudent(org.ruangong.entity.Student))")
public void myAfter(){
System.out.println("《注解实现后置通知...》");
}
}
@Component相当于将该通知类放入到ioc容器,=<bean id="logAnnotation" class="org.ruangong.Log.LogAspectAnnotation"></bean>
二、配置连接线
在applicationContext.xml文件的开头添加注解对AOP的支持:
<!-- 开启注解对AOP的支持 --> <aop:aspectj-autoproxy></aop:aspectj-autoproxy>
此时不需要在连线了。因为使用注解实现通知,需要在xml文件中开启扫描文件。

运行测试类:

@Aspect不需要加入扫描器,只需要开启注解对aop的支持就完了。

浙公网安备 33010602011771号