Class AbstractServiceLoaderBasedFactoryBean
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<Object>
org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean
- All Implemented Interfaces:
- Aware, BeanClassLoaderAware, BeanFactoryAware, DisposableBean, FactoryBean<Object>, InitializingBean
- Direct Known Subclasses:
- ServiceFactoryBean, ServiceListFactoryBean, ServiceLoaderFactoryBean
public abstract class AbstractServiceLoaderBasedFactoryBean
extends AbstractFactoryBean<Object>
implements BeanClassLoaderAware
Abstract base class for FactoryBeans operating on the
JDK 1.6 
ServiceLoader facility.- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields inherited from class AbstractFactoryBeanloggerFields inherited from interface FactoryBeanOBJECT_TYPE_ATTRIBUTE
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected ObjectDelegates togetObjectToExpose(java.util.ServiceLoader).protected abstract ObjectgetObjectToExpose(ServiceLoader<?> serviceLoader) Determine the actual object to expose for the given ServiceLoader.Return the desired service type.voidsetBeanClassLoader(@Nullable ClassLoader beanClassLoader) Callback that supplies the beanclass loaderto a bean instance.voidsetServiceType(@Nullable Class<?> serviceType) Specify the desired service type (typically the service's public API).Methods inherited from class AbstractFactoryBeanafterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, getObjectType, isSingleton, setBeanFactory, setSingleton
- 
Constructor Details- 
AbstractServiceLoaderBasedFactoryBeanpublic AbstractServiceLoaderBasedFactoryBean()
 
- 
- 
Method Details- 
setServiceType
- 
getServiceType
- 
setBeanClassLoaderDescription copied from interface:BeanClassLoaderAwareCallback that supplies the beanclass loaderto a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as InitializingBean'sInitializingBean.afterPropertiesSet()method or a custom init-method.- Specified by:
- setBeanClassLoaderin interface- BeanClassLoaderAware
- Overrides:
- setBeanClassLoaderin class- AbstractFactoryBean<Object>
- Parameters:
- beanClassLoader- the owning class loader
 
- 
createInstanceDelegates togetObjectToExpose(java.util.ServiceLoader).- Specified by:
- createInstancein class- AbstractFactoryBean<Object>
- Returns:
- the object to expose
- See Also:
 
- 
getObjectToExposeDetermine the actual object to expose for the given ServiceLoader.Left to concrete subclasses. - Parameters:
- serviceLoader- the ServiceLoader for the configured service class
- Returns:
- the object to expose
 
 
-