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, String beanName, BeanFactory owner) Determine the actual class for the given bean definition, as instantiated at runtime.instantiate
(RootBeanDefinition bd, String beanName, BeanFactory owner) Return an instance of the bean with the given name in this factory.instantiate
(RootBeanDefinition bd, String beanName, BeanFactory owner, Object factoryBean, Method factoryMethod, 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, 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, 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
-