Interface InstantiationStrategy
- All Known Implementing Classes:
CglibSubclassingInstantiationStrategy, SimpleInstantiationStrategy
public interface InstantiationStrategy
Interface responsible for creating instances corresponding to a root bean definition.
This is pulled out into a strategy as various approaches are possible, including using CGLIB to create subclasses on the fly to support Method Injection.
- Since:
- 1.1
- Author:
- Rod Johnson, Juergen Hoeller
-
Method Summary
Modifier and TypeMethodDescriptiondefault Class
<?> getActualBeanClass
(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner) Determine the actual class for the given bean definition, as instantiated at runtime.instantiate
(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner) Return an instance of the bean with the given name in this factory.instantiate
(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner, @Nullable Object factoryBean, Method factoryMethod, @Nullable Object... args) Return an instance of the bean with the given name in this factory, creating it via the given factory method.instantiate
(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner, Constructor<?> ctor, Object... args) Return an instance of the bean with the given name in this factory, creating it via the given constructor.
-
Method Details
-
instantiate
Object instantiate(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner) throws BeansException Return an instance of the bean with the given name in this factory.- Parameters:
bd
- the bean definitionbeanName
- the name of the bean when it is created in this context. The name can benull
if we are autowiring a bean which doesn't belong to the factory.owner
- the owning BeanFactory- Returns:
- a bean instance for this bean definition
- Throws:
BeansException
- if the instantiation attempt failed
-
instantiate
Object instantiate(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner, Constructor<?> ctor, Object... args) throws BeansException Return an instance of the bean with the given name in this factory, creating it via the given constructor.- Parameters:
bd
- the bean definitionbeanName
- the name of the bean when it is created in this context. The name can benull
if we are autowiring a bean which doesn't belong to the factory.owner
- the owning BeanFactoryctor
- the constructor to useargs
- the constructor arguments to apply- Returns:
- a bean instance for this bean definition
- Throws:
BeansException
- if the instantiation attempt failed
-
instantiate
Object instantiate(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner, @Nullable Object factoryBean, Method factoryMethod, @Nullable Object... args) throws BeansException Return an instance of the bean with the given name in this factory, creating it via the given factory method.- Parameters:
bd
- the bean definitionbeanName
- the name of the bean when it is created in this context. The name can benull
if we are autowiring a bean which doesn't belong to the factory.owner
- the owning BeanFactoryfactoryBean
- the factory bean instance to call the factory method on, ornull
in case of a static factory methodfactoryMethod
- the factory method to useargs
- the factory method arguments to apply- Returns:
- a bean instance for this bean definition
- Throws:
BeansException
- if the instantiation attempt failed
-
getActualBeanClass
default Class<?> getActualBeanClass(RootBeanDefinition bd, @Nullable String beanName, BeanFactory owner) Determine the actual class for the given bean definition, as instantiated at runtime.- Since:
- 6.0
-