主要内容:SpringAOPj简介,动态代理,基于代理的AOP实现
学习目标:掌握基于代理类AOP的实现、熟悉两种动态代理方式的区别、理解AOP中相关的术语、了 解AOP的概念和作用。
3.1 Spring AOP
3.1.1Spring AOP简介------相对继承和组合有哪些改进(动态执行,静态代码便于更改)
(1)面向切面(方面)编程,面向对象编程的一种补充;
(2)业务处理代码,事务处理,日志记录操作。虽然OOP可以通过继承或者组合(纵向机制)的方式来达到代码的重用,但如果要是实现某个功能,同样的代码还是会分散到各个方法中,造成如果要修改或关闭某个功能,就必须要修改所有的相关方法。
(3)AOP采取横向抽取机制,将分散在各个方法中的代码提取出来,然后程序编译或运行时,再将这些提取出来的代码应用在需要和执行的地方。
3.1.2AOP术语
(1)切面:Aspect,封装的用于横向插入系统功能(如事务,日志等)的类
(2)连接点:jionpoint,在程序执行过程中的某个阶段点
(3)切入点:PointCut,切面与程序流程的交叉点,即那些需要处理的连接点
(4)通知增强处理:Advice,AOP框架在特定的切入点执行增强处理,即在定义好的切入点执行的程序代码。可以将其理解为切面类中的方法。
(