Package com.vaadin.flow.spring
Class SpringInstantiator
java.lang.Object
com.vaadin.flow.di.DefaultInstantiator
com.vaadin.flow.spring.SpringInstantiator
- All Implemented Interfaces:
Instantiator,Serializable
Default Spring instantiator that is used if no other instantiator has been
registered. This implementation uses Spring beans.
- Author:
- Vaadin Ltd
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionSpringInstantiator(VaadinService service, org.springframework.context.ApplicationContext context) Creates a new spring instantiator instance. -
Method Summary
Modifier and TypeMethodDescription<T extends Component>
TcreateComponent(Class<T> componentClass) Class<?>getApplicationClass(Class<?> clazz) <T> TgetOrCreate(Class<T> type) Hands over an existing bean or tries to instantiate one with the following rules: If exactly one bean is present in the context, it returns this bean.Gets all service init listeners to use.Methods inherited from class com.vaadin.flow.di.DefaultInstantiator
getClassLoader, getInitProperty, getServiceLoaderListenersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.di.Instantiator
createRouteTarget, getApplicationClass, getDependencyFilters, getIndexHtmlRequestListeners
-
Constructor Details
-
SpringInstantiator
public SpringInstantiator(VaadinService service, org.springframework.context.ApplicationContext context) Creates a new spring instantiator instance.- Parameters:
service- the service to usecontext- the application context
-
-
Method Details
-
getServiceInitListeners
Gets all service init listeners to use. Registers by default an init listener that publishes ServiceInitEvent to application context.- Specified by:
getServiceInitListenersin interfaceInstantiator- Overrides:
getServiceInitListenersin classDefaultInstantiator- Returns:
- stream of service init listeners, not
null
-
createComponent
- Specified by:
createComponentin interfaceInstantiator- Overrides:
createComponentin classDefaultInstantiator
-
getI18NProvider
- Specified by:
getI18NProviderin interfaceInstantiator- Overrides:
getI18NProviderin classDefaultInstantiator
-
getMenuAccessControl
- Specified by:
getMenuAccessControlin interfaceInstantiator- Overrides:
getMenuAccessControlin classDefaultInstantiator
-
getOrCreate
Hands over an existing bean or tries to instantiate one with the following rules:- If exactly one bean is present in the context, it returns this bean.
- If no bean is present, it tries to instantiate one.
- If more than one bean is present, it tries to instantiate one but in case of a Bean instantiation exception this exception is catched and rethrown with a hint. Reason for this is, that users may expect it to "use" a bean but have multiple in the context. So the hint helps them find the problem.
- Specified by:
getOrCreatein interfaceInstantiator- Overrides:
getOrCreatein classDefaultInstantiator
-
getApplicationClass
-