Spring中的AOP经常被人提到叫面向切面编程
,其实这只是一个理论,形象的表达了在AOP化的过程中,就像我们拿着一个似刀片的东西横插入某一段业务中,将来业务切分为多段。
在AOP化过程中,使用到的核心技术就一个: 代理
, 通过代理,将原来的业务拆分为多段,然后由代理类转发分派核心业务功能。 在Spring AOP
中代理一共分为两种:
- 静态代理,也就是普通代理,我们最开始接触的三个角色形成的代理模式。
- 动态代理,分为基于接口的JDK提供动态代理核心接口,和基于
类
的动态代理,是一个第三方的代码类库 ----cglib
.
在spring aop
的动态代理中,会自动调整采用上述哪种代理类型,根据实现类的父类是否为接口.
网友评论