本质是通过动态代理来实现的,主要有以下几个步骤。
1、获取增强器,例如被 Aspect 注解修饰的类。
2、在创建每一个 bean 时,会检查是否有增强器能应用于这个 bean,简单理解就是该 bean 是否在该增强器指定的 execution 表达式中。如果是,则将增强器作为拦截器参数,使用动态代理创建 bean 的代理对象实例。
3、当我们调用被增强过的 bean 时,就会走到代理类中,从而可以触发增强器,本质跟拦截器类似。
本质是通过动态代理来实现的,主要有以下几个步骤。
1、获取增强器,例如被 Aspect 注解修饰的类。
2、在创建每一个 bean 时,会检查是否有增强器能应用于这个 bean,简单理解就是该 bean 是否在该增强器指定的 execution 表达式中。如果是,则将增强器作为拦截器参数,使用动态代理创建 bean 的代理对象实例。
3、当我们调用被增强过的 bean 时,就会走到代理类中,从而可以触发增强器,本质跟拦截器类似。