Package org.springframework.beans.factory.support

# Class CglibSubclassingInstantiationStrategy

java.lang.Object
org.springframework.beans.factory.support.SimpleInstantiationStrategy
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.

Since:
  1.1
Author:
  Rod Johnson, Juergen Hoeller, Sam Brannen

## Constructor Summary

Constructors
Constructor
Description
`CglibSubclassingInstantiationStrategy()`

## Method Summary

Modifier and Type
Method
Description
`Class<?>`
`getActualBeanClass(RootBeanDefinition bd, String beanName, BeanFactory owner)`
Determine the actual class for the given bean definition, as instantiated at runtime.
`protected Object`
`instantiateWithMethodInjection(RootBeanDefinition bd, 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 bd, 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, instantiateWithFactoryMethod, setCurrentlyInvokedFactoryMethod`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### CglibSubclassingInstantiationStrategy

public CglibSubclassingInstantiationStrategy()

## Method Details

### instantiateWithMethodInjection

protected Object instantiateWithMethodInjection(RootBeanDefinition bd, @Nullable 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 bd, @Nullable String beanName, BeanFactory owner, @Nullable 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`

### getActualBeanClass

public Class<?> getActualBeanClass(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner)
Description copied from interface: `InstantiationStrategy`
Determine the actual class for the given bean definition, as instantiated at runtime.