Class ProviderCreatingFactoryBean
- All Implemented Interfaces:
- Aware, BeanClassLoaderAware, BeanFactoryAware, DisposableBean, FactoryBean<jakarta.inject.Provider<Object>>, InitializingBean
FactoryBean implementation that
returns a value which is a JSR-330 Provider that in turn
returns a bean sourced from a BeanFactory.
This is basically a JSR-330 compliant variant of Spring's good old
ObjectFactoryCreatingFactoryBean. It can be used for traditional
external dependency injection configuration that targets a property or
constructor argument of type jakarta.inject.Provider, as an
alternative to JSR-330's @Inject annotation-driven approach.
- Since:
- 3.0.2
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from class AbstractFactoryBeanloggerFields inherited from interface FactoryBeanOBJECT_TYPE_ATTRIBUTE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidEagerly create the singleton instance, if necessary.protected jakarta.inject.Provider<Object> Template method that subclasses must override to construct the object returned by this factory.Class<?> This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.voidsetTargetBeanName(String targetBeanName) Set the name of the target bean.Methods inherited from class AbstractFactoryBeandestroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
- 
Constructor Details- 
ProviderCreatingFactoryBeanpublic ProviderCreatingFactoryBean()
 
- 
- 
Method Details- 
setTargetBeanNameSet the name of the target bean.The target does not have to be a non-singleton bean, but realistically always will be (because if the target bean were a singleton, then said singleton bean could simply be injected straight into the dependent object, thus obviating the need for the extra level of indirection afforded by this factory approach). 
- 
afterPropertiesSetDescription copied from class:AbstractFactoryBeanEagerly create the singleton instance, if necessary.- Specified by:
- afterPropertiesSetin interface- InitializingBean
- Overrides:
- afterPropertiesSetin class- AbstractFactoryBean<jakarta.inject.Provider<Object>>
- Throws:
- Exception- in the event of misconfiguration (such as failure to set an essential property) or if initialization fails for any other reason
 
- 
getObjectTypeDescription copied from class:AbstractFactoryBeanThis abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.- Specified by:
- getObjectTypein interface- FactoryBean<jakarta.inject.Provider<Object>>
- Specified by:
- getObjectTypein class- AbstractFactoryBean<jakarta.inject.Provider<Object>>
- Returns:
- the type of object that this FactoryBean creates,
or nullif not known at the time of the call
- See Also:
 
- 
createInstanceDescription copied from class:AbstractFactoryBeanTemplate method that subclasses must override to construct the object returned by this factory.Invoked on initialization of this FactoryBean in case of a singleton; else, on each AbstractFactoryBean.getObject()call.- Specified by:
- createInstancein class- AbstractFactoryBean<jakarta.inject.Provider<Object>>
- Returns:
- the object returned by this factory
- See Also:
 
 
-