Spring Aop原理如何,代理模式又是怎样应用的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计739个文字,预计阅读时间需要3分钟。
Spring AOP原理概述:Spring的AOP通过动态代理实现。当配置Bean时,Spring会为指定Bean创建代理对象。调用该Bean的特定方法时,实际上调用的是代理对象的相应方法。
Spring Aop的原理Spring的AOP就是通过动态代理实现的。当为某个Bean或者某些Bean配置切面时,Spring会为其创建代理对象,当调用该对象的某个方法时,实际是调用生成的代理类的对象方法。Spring的Aop主要是使用了两个动态代理,分别是JDK的动态代理和CGLIB动态代理。
1. JDK动态代理
如果代理类实现了接口,Spring默认会使用JDK动态代理。JDK的动态代理是基于反射实现。JDK通过反射,生成一个代理类,这个代理类实现了原来那个类的全部接口,并对接口中定义的所有方法进行了代理。当我们通过代理对象执行原来那个类的方法时,代理类底层会通过反射机制,调用我们实现的InvocationHandler接口的invoke方法。
本文共计739个文字,预计阅读时间需要3分钟。
Spring AOP原理概述:Spring的AOP通过动态代理实现。当配置Bean时,Spring会为指定Bean创建代理对象。调用该Bean的特定方法时,实际上调用的是代理对象的相应方法。
Spring Aop的原理Spring的AOP就是通过动态代理实现的。当为某个Bean或者某些Bean配置切面时,Spring会为其创建代理对象,当调用该对象的某个方法时,实际是调用生成的代理类的对象方法。Spring的Aop主要是使用了两个动态代理,分别是JDK的动态代理和CGLIB动态代理。
1. JDK动态代理
如果代理类实现了接口,Spring默认会使用JDK动态代理。JDK的动态代理是基于反射实现。JDK通过反射,生成一个代理类,这个代理类实现了原来那个类的全部接口,并对接口中定义的所有方法进行了代理。当我们通过代理对象执行原来那个类的方法时,代理类底层会通过反射机制,调用我们实现的InvocationHandler接口的invoke方法。

