-
织入 Advisor
织入是将增强添加到目标类具体连接点上的过程,AOP有三种织入方式: ①编译期织入:需要特殊的Java编译器(例如AspectJ的ajc); ②装载期织入:要求使用特殊的类加载器,在装载类的时候对类进行增强; ③运行时织入:在运行时为目标类生成代理实现增强。 Spring采用了动态代理的方式实现了运行时织入,而AspectJ采用了编译期织入和装载期织入的方式。
-
引入 Introduction
引介是一种特殊的增强,它为类添加一些属性和方法。这样,即使一个业务类原本没有实现某个接口, 通过引介功能,可以动态的为该业务类添加接口的实现逻辑,让业务类成为这个接口的实现类。