代理
· 详见 https://woieha320r.github.io/tags/设计模式/代理/
· 如果使用Spring的声明式切面、声明式事务、声明式缓存,它们都是通过cglib动态代理实现的,要想在同类间方法调用时也触发代理行为,可以通过Spring 将其注入到字段上,然后通过它调用方法。
@Component
public class Test {
@Autowried
private Test self;
// 然后通过self.method()来调用,就可以触发代理行为了。这里注入的实例不是Test类型,而是Test的代理类型(jdk为同接口的另一个类实例,cglib为Test的子类)
}