一.aop
1.aop:面向切面编程,用一句话来概括的话是:横向重复,纵向抽取
2.很多技术能够体现aop思想,比如动态代理,struts2拦截器,过滤器等
二.Spring-aop
1.Spring提供了代理技术能够把容器管理的对象生成“动态代理对象”,无需自己手写装配的代码和生成代理对象
2.至于为什么叫Spring-aop?动态代理它是可以体现出aop的思想,能生成代理对象将重复性的代码进行抽取。
三.动态代理和cglib代理
动态代理:被代理对象(目标对象)必须实现接口才能生成代理对象;代理对象和被代理对象之间没有关系,只是实现了相同的接口
cglib代理:第三方的代理技术,可以对任何类生成代理;代理的原理是对目标对象进行继承代理,如果目标对象被final修饰,则无法生成代理对象;代理对象和被代理之间的关系是继承,代理对象继承被代理对象
1.在spring中是整合了两者的技术,混合使用;