AOP:面回切面,面向方面,面向接口是一种横切横切技术运用:
1事务管理:(1))数据事务(2))编程事务(3)声的事务:Spring AOP→声明事物
2、日志处理 Date 1
3、安全验证:Spring AOP…OoP升级
静态代理原理:目标对象:调用业务逻辑、代理对象日志管理 表示层调用→代理对象(日志管理)→调用目标对象
动态代理原理:SpringAOP采用动态代理来实现
(1)JDK(基于接口)实现InvocationHandler接口
(2)CGIB(基于父子类继承关系)创建代理类(通过java·API)Proxy.newproxyInstance(动态代理类,代理类实现接口2,使用handler): 如载
(3)调用invoke方法(虚拟机自动调用方法)
自动调用方法
Spring默认动态代理类的方式是JDK实理
修改 prory-target-class="true"修改CGLIB
AoP
面向切面编程,可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。主要功能有日志记录.
性能统计,安全控制、事务处理、异常处理等心。主要意图就是把以上功能从业务逻辑代码已分离出来幽改变
这些行为的时候不影响业务逻辑的代码