Class ServiceFactoryBean
- java.lang.Object
- org.springframework.beans.factory.config.AbstractFactoryBean<Object>
- org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean
- org.springframework.beans.factory.serviceloader.ServiceFactoryBean
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,DisposableBean
,FactoryBean<Object>
,InitializingBean
public class ServiceFactoryBean extends AbstractServiceLoaderBasedFactoryBean implements BeanClassLoaderAware
FactoryBean
that exposes the 'primary' service for the configured service class, obtained through the JDK 1.6ServiceLoader
facility.- Since:
- 2.5
- Author:
- Juergen Hoeller
- See Also:
ServiceLoader
Field Summary
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
logger
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
Constructor Summary
Constructors Constructor Description ServiceFactoryBean()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
getObjectToExpose(ServiceLoader<?> serviceLoader)
Determine the actual object to expose for the given ServiceLoader.Class<?>
getObjectType()
This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.Methods inherited from class org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean
createInstance, getServiceType, setBeanClassLoader, setServiceType
Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanFactory, setSingleton
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.beans.factory.BeanClassLoaderAware
setBeanClassLoader
Constructor Detail
ServiceFactoryBean
public ServiceFactoryBean()
Method Detail
getObjectToExpose
protected Object getObjectToExpose(ServiceLoader<?> serviceLoader)
Description copied from class:AbstractServiceLoaderBasedFactoryBean
Determine the actual object to expose for the given ServiceLoader.Left to concrete subclasses.
- Specified by:
getObjectToExpose
in classAbstractServiceLoaderBasedFactoryBean
- Parameters:
serviceLoader
- the ServiceLoader for the configured service class- Returns:
- the object to expose
getObjectType
@Nullable public Class<?> getObjectType()
Description copied from class:AbstractFactoryBean
This abstract method declaration mirrors the method in the FactoryBean interface, for a consistent offering of abstract template methods.- Specified by:
getObjectType
in interfaceFactoryBean<Object>
- Specified by:
getObjectType
in classAbstractFactoryBean<Object>
- Returns:
- the type of object that this FactoryBean creates, or
null
if not known at the time of the call - See Also:
FactoryBean.getObjectType()