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的支持就完了。

原文地址:https://www.cnblogs.com/jccjcc/p/13986919.html