org.springframework.beans.factory.support
Class CglibSubclassingInstantiationStrategy

java.lang.Object
  extended by org.springframework.beans.factory.support.SimpleInstantiationStrategy
      extended by org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy
All Implemented Interfaces:
InstantiationStrategy

public class CglibSubclassingInstantiationStrategy
extends SimpleInstantiationStrategy

Default object instantiation strategy for use in BeanFactories. Uses CGLIB to generate subclasses dynamically if methods need to be overridden by the container, to implement Method Injection.

Using Method Injection features requires CGLIB on the classpath. However, the core IoC container will still run without CGLIB being available.

Since:
1.1
Author:
Rod Johnson, Juergen Hoeller

Constructor Summary
CglibSubclassingInstantiationStrategy()
           
 
Method Summary
protected  Object instantiateWithMethodInjection(RootBeanDefinition beanDefinition, String beanName, BeanFactory owner)
          Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
protected  Object instantiateWithMethodInjection(RootBeanDefinition beanDefinition, String beanName, BeanFactory owner, Constructor ctor, Object[] args)
          Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition.
 
Methods inherited from class org.springframework.beans.factory.support.SimpleInstantiationStrategy
getCurrentlyInvokedFactoryMethod, instantiate, instantiate, instantiate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CglibSubclassingInstantiationStrategy

public CglibSubclassingInstantiationStrategy()
Method Detail

instantiateWithMethodInjection

protected Object instantiateWithMethodInjection(RootBeanDefinition beanDefinition,
                                                String beanName,
                                                BeanFactory owner)
Description copied from class: SimpleInstantiationStrategy
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition. Instantiation should use a no-arg constructor.

Overrides:
instantiateWithMethodInjection in class SimpleInstantiationStrategy

instantiateWithMethodInjection

protected Object instantiateWithMethodInjection(RootBeanDefinition beanDefinition,
                                                String beanName,
                                                BeanFactory owner,
                                                Constructor ctor,
                                                Object[] args)
Description copied from class: SimpleInstantiationStrategy
Subclasses can override this method, which is implemented to throw UnsupportedOperationException, if they can instantiate an object with the Method Injection specified in the given RootBeanDefinition. Instantiation should use the given constructor and parameters.

Overrides:
instantiateWithMethodInjection in class SimpleInstantiationStrategy