gistfile1.txt Spring AOP:面向切面编程概念:所谓面向切面编程,就是在多个类中调用方法时,而方法里面的部分功能都相同时,而把这些相同的内容给抽离出来,抽离出来的部分 就属于切面举例
Spring AOP:面向切面编程 概念:所谓面向切面编程,就是在多个类中调用方法时,而方法里面的部分功能都相同时,而把这些相同的内容给抽离出来,抽离出来的部分 就属于切面 举例:在不修改类代码的情况下,调用类里面的某一个方法之前或者之后调用其他的代码. -->1.AOP专业属于 -->1.Joinpoint 连接点 目标类类中的方法 -->2.Pointcut 切点 查找目标类方法条件 -->3.Advice 增强 在调用目标类方法之前或者之后所需要额外功能(代码) -->4.Target 目标对象 目标类 -->5.introduction 引介 强行让目标类实现接口 -->6.Weaving 织入 给目标类添加功能时的时机1.编译期 2.类转载期 3.运行期(内存版,动态代理) -->7.Proxy 代理 代理类,完成切入后的目标类(增强版的代理类) -->8.Aspect 切面 最终增强的代理方法15:34 2016/7/28 -->2.增强类型,org.aopalliance.aop.Advice -->前置增强:org.springframework.aop.BeforeAdvice,MethodBeforeAdvice -->1、编写一个切面类来实现该接口,重写里面的方法 -->2、通过配置文件来实现 切入点: 第一个*号表示任意返回类型 第一个*后面代表包的路径 第二个*代表包内的任意类 第三个*代表保内的任意方法 (..):代表方法中的任意参数 -->后置增强:org.springframework.aop.AfterReturning -->环绕增强:org.aopalliance.intercept.MethodInterceptor -->异常增强:org.springframework.aop.ThrowsAdvice -->必须手动 afterThrowing([Method method,Object[] args,Object target],Throwable e) -->引介增强:org.springframework.aop.IntroductionInterceptor -->在目标类添加方法和属性 -->3.0基于@AspectJ配置切面 -->@Before 前增强 -->@AfterReturning 后置增强 -->@Around 环绕增强 -->@AfterThrowing 异常增强 -->@After 抛出异常和正常退出增强 -->@DeclareParents 引介增强 -->使用规则 -->使用代码,创建AspectJProxyFactory,设置目标类和增强类 -->启用注解功能 -->配置目标类bean,配置增强类bean,配置org.springframework.aop.aspectj.annotation 3.AOP事务 -->mybatis的配置 -->1.启用事务对象 --> -->