06--Spring5 AOP(底层原理)

1、AOP使用动态代理

        (1)有两种情况的动态代理

                *第一种有接口情况,使用JDK动态代理

                        *创建接口实现类代理对象,增强类的方法

06--Spring5 AOP(底层原理)

                *第二种没有接口情况使用CGLIB动态代理

                        *创建子类的代理对象,增强类的方法

                                06--Spring5 AOP(底层原理) 

2、AOP动态代理(JDK代理对象)

        (1) 使用JDK动态代理对象,使用proxy类里面的方法创建对象

            06--Spring5 AOP(底层原理)

         (2)调用newProxyInstan方法

06--Spring5 AOP(底层原理)

                 *方法有三个参数:

                         *第一个参数:类加载器

                         *第二个参数:增加方法所在的类,这个类实现的接口,支持多个接口

                         *第三个参数:实现这个接口InvocationHandler,创建代理对象,写增强的部分

        (2)编写JDK动态代理代码

                *创建一个UserDao接口和UserDaoImpl实现类

                06--Spring5 AOP(底层原理)

06--Spring5 AOP(底层原理) 

                *创建一个接口实现类代理对象

06--Spring5 AOP(底层原理) 

 

                               

上一篇:SpringBoot AOP 记录操作日志、异常日志


下一篇:SpringBoot面向切面编程(AOP)