AOP概述
大二期间,为考试然后简单整理的一些笔记
一、orm框架的理解
二、jpa与mybatis
三、spring的概述
四、AOP概述
五、springMvc的概述
四、AOP概述
1、aop基础概念
1)切面:将“横切关注点”的功能代码提取出来,放入一个单独的类中统 一处理,这个类称为“切面类”也称为切面Aspect
2)连接点:执行过程中插入切面的点, 如在方法前/后/前后
3)切面:部分连接点
4)通知机制:确定是方法前/后/前后进行切入的机制
5)织入:将切面应用到指定对象中,Spring是采用代理设计模式实现织入
指在不改动原有程序基础上,实现功能上的增强,如在原有功能基础上, 增加日志或事务功能,采用代理方式,即对于需要增加功能的类A,定 义一个代理类B,由代理类负责实现类A所要增强的功能。
6)代理分为静态和动态
静态代理:代理对象和被代理对象实现的是同一个接口,完全保留被代理对象的接口样式,并一下保持不变的原则,但由于代理类绑定的接口是固定的,不利于扩展动态代理:不再固定绑定某个指定接口,而是利用反射机制中动态代理类,即实现jdk中InvocationHandler接口,利用其invoke方法的参数传递,动态绑定 被代理对象的接口
2、相关jar包及图示
3、AspectJ XML方式
1)前置通知类
2)后置通知类
3)配置文件中要先对于被代理类、通知类进行实例化
4)要对于aop切面中的切面点和通知切入的时机等属性进行配置
4、AspectJ 注解方式
常用注解
1)@Aspect : 标记为切面类
2)@Pointcut : 指定匹配切点集合
3)@Before : 指定前置通知,value中指定切入点匹配
4)@AfterReturning :后置通知,具有可以指定返回值
5)@AfterThrowing :异常通知
6)@Around 环绕通知 环绕通知的方法中一定要有ProceedingJoinPoint 参数,与Filter中的 doFilter方法类似
注意:前置/后置/异常通知的函数都没有返回值,只有环绕通知有返回值