① 导入依赖jar包
② 在resources文件夹下的配置spring-aop.xml文件
③ 编写后台代码实现
@Component //声明是通用注解
@Aspect //声明当前类是一个切面组件,必须与<aop:aspectj-autoproxy/>配合使用
public class ProxyAspect {
@Around("bean(list)") //切入到list bean对象的全部方法
public Object handle(ProceedingJoinPoint joinPoint) throws Throwable {
//johnPoint代表被调用目标对象的方法,其封装了目标对象和调用的方法。
//可以通过getSignature()来获取调用的方法信息
Signature s = joinPoint.getSignature();
System.out.println(s);
//添加同步代码块
synchronized (this) {
//proceed()方法底层封装了invoke()
return joinPoint.proceed();
}
}
}
编写测试类
@Test
public void testSpringList() {
ClassPathXmlApplicationContext ctx = new classPathXmlApplicationContext("spring-aop.xml");
List<String> list = ctx.getBean("list", List.class);
list.add("TOM");
list.add("JERRY");
System.out.println(list.getClass());
System.out.println(list);
}
AOP配置简述,以免遗忘。不足之处,敬请见谅。