引入与其他类型的通知有所不同,因为其他类型的通知是在方法调用的周围织入到不同的连接点,而引入会影响整个类,可以通过给需要消息的类添加方法和属性来实现。可以用一个已存在的类让它实现另外的接口,维持另外的状态(这也称为混合)。使用引入能够动态的建立符合对象,提供了多态继承的好处。
实现introductionInterceptor:
Spring通过一个特殊的方法拦截器接口IntroductionInterceptor来实现引入。这个接口有一个方法
boolean implementInterface(Class intf);
如果IntroductionInterceptior用于实现指定接口,那么implementsInterface()方法应该返回true。也就是说,对于这个接口声明的方法的任何嗲用将被委托给IntroductionInterce
ptor的invoke()方法。它引入新得接口,调用目标接口是没有用的。