diff --git a/spring-core/src/main/java/org/springframework/cglib/proxy/MethodProxy.java b/spring-core/src/main/java/org/springframework/cglib/proxy/MethodProxy.java index 446cd09b9b..93cfcfc5a8 100644 --- a/spring-core/src/main/java/org/springframework/cglib/proxy/MethodProxy.java +++ b/spring-core/src/main/java/org/springframework/cglib/proxy/MethodProxy.java @@ -57,8 +57,8 @@ public class MethodProxy { proxy.createInfo = new CreateInfo(c1, c2); // SPRING PATCH BEGIN - if (!c1.isInterface() && c1 != Object.class) { - // Try early initialization for overridden methods on subclasses + if (!c1.isInterface() && c1 != Object.class && !Factory.class.isAssignableFrom(c2)) { + // Try early initialization for overridden methods on specifically purposed subclasses try { proxy.init(); }