org.springframework.beans.factory.support
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

Method Summary
 Object instantiate(RootBeanDefinition beanDefinition, String beanName, BeanFactory owner)
          Return an instance of the bean with the given name in this factory.
 Object instantiate(RootBeanDefinition beanDefinition, 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.
 Object instantiate(RootBeanDefinition beanDefinition, 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.
 

Method Detail

instantiate

Object instantiate(RootBeanDefinition beanDefinition,
                   String beanName,
                   BeanFactory owner)
                   throws BeansException
Return an instance of the bean with the given name in this factory.

Parameters:
beanDefinition - the bean definition
beanName - name of the bean when it's created in this context. The name can be null if we're autowiring a bean that doesn't belong to the factory.
owner - owning BeanFactory
Returns:
a bean instance for this bean definition
Throws:
BeansException - if the instantiation failed

instantiate

Object instantiate(RootBeanDefinition beanDefinition,
                   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:
beanDefinition - the bean definition
beanName - name of the bean when it's created in this context. The name can be null if we're autowiring a bean that doesn't belong to the factory.
owner - owning BeanFactory
ctor - the constructor to use
args - the constructor arguments to apply
Returns:
a bean instance for this bean definition
Throws:
BeansException - if the instantiation failed

instantiate

Object instantiate(RootBeanDefinition beanDefinition,
                   String beanName,
                   BeanFactory owner,
                   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:
beanDefinition - bean definition
beanName - name of the bean when it's created in this context. The name can be null if we're autowiring a bean that doesn't belong to the factory.
owner - owning BeanFactory
factoryBean - the factory bean instance to call the factory method on, or null in case of a static factory method
factoryMethod - the factory method to use
args - the factory method arguments to apply
Returns:
a bean instance for this bean definition
Throws:
BeansException - if the instantiation failed