Spring AOP的设计与实现

本节一起学习Spring AOP的设计与实现

具体来说,在Spring AOP实现中,使用的核心技术是动态代理,而这种动态代理实际上是JDK的一个特性。通过JDK的动态代理特性,可以为任意JAVA对象创建代理对象,具体使用时通过java Reflection API来完成的。

Spring AOP的核心技术是JDK动态代理技术。以动态代理技术设计出了一系列AOP的横切实现,比如前置通知、返回通知、异常通知等。同时还设计了一系列的Pointcut来匹配切入点,可以使用现有的切入点设计横切面扩展相关的Pointcut方法实现切入需求。

为了让AOP起作用,需要完成一系列过程,比如,需要为目标对象建立代理对象,这个代理对象可以通过使用JDk的Proxy实现,也可以通过第三方的类生成器CGLIB完成。然后还需要启动代理对象的拦截器完成横切面的织入,这一系列的织入设计是通过一系列的Adapter来实现的。通过一系列的Adapter的设计,可以把AOP的横切面设计和Proxy有机结合起来,从而实现在AOP中定义好的各种各样的织入方式,后面再详细介绍。

猜你喜欢

转载自blog.csdn.net/dxh0823/article/details/80703463