1,SpringAOP总结
1).加入jar包
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.aspectj.weaver-1.6.4.RELEASE.jar
commons-logging-1.2.jar
spring-aop-4.2.4.RELEASE.jar
spring-aspects-4.2.4.RELEASE.jar
spring-beans-4.3.8.RELEASE.jar
spring-context-4.3.8.RELEASE.jar
spring-core-4.3.8.RELEASE.jar
spring-expression-4.3.8.RELEASE.jar
下载地址:https://pan.baidu.com/s/1bu9XOBc88wh3g5s2PsgZ6g 提取码:mmqv
2)在配置文件中加入AOP命名空间
<!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.kzw.toaop"></context:component-scan>
<!-- 使AspjectJ 注解起作用:自动为匹配的类生成代理对象 -->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
3)实现类上加入@Component
4) 1,把日志切面类放入到IOC容器中 即加上:@Component
2,声明为一个切面@Aspect
5)在类中声明各种通知
@Before前置通知,在方法执行之前执行
@After后置通知,在方法执行之后执行
@AfterRunning:返回通知,在方法返回结果之后执行
@AfterThrowing:异常通知,在方法抛出异常之后
@Around:环绕通知,围绕着方法执行
6)可以在方法中声明一个类型为JoinPoint 的参数,然后就能访问链接细节,如方法名和参数值
例:
//声明该方法是一个前置通知:在目标方法开始之前执行
@Before("execution(int com.kzw.toaop.ArithmeticCalculator.*(int, int))")
public void beforeMethod(JoinPoint joinPoint) {
String methodName = joinPoint.getSignature().getName();
List<Object> args = Arrays.asList(joinPoint.getArgs());
System.out.println("方法执行之前执行:"+methodName+"with:"+args);
}
7)main方法
在配置文件中配置AOP
步骤1)
2)