Package org.springframework.boot
Interface ApplicationContextFactory
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Strategy interface for creating the
ConfigurableApplicationContext used by a
SpringApplication. Created contexts should be returned in their default form,
with the SpringApplication responsible for configuring and refreshing the
context.- Since:
- 2.4.0
- Author:
- Andy Wilkinson, Phillip Webb
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ApplicationContextFactoryA defaultApplicationContextFactoryimplementation that will create an appropriate context for theWebApplicationType. -
Method Summary
Modifier and TypeMethodDescriptioncreate(WebApplicationType webApplicationType) default ConfigurableEnvironmentcreateEnvironment(WebApplicationType webApplicationType) Create a newEnvironmentto be set on thecreatedapplication context.default Class<? extends ConfigurableEnvironment>getEnvironmentType(WebApplicationType webApplicationType) Return theEnvironmenttype expected to be set on thecreatedapplication context.static ApplicationContextFactoryof(Supplier<ConfigurableApplicationContext> supplier) Creates anApplicationContextFactorythat will create contexts by calling the givenSupplier.static ApplicationContextFactoryofContextClass(Class<? extends ConfigurableApplicationContext> contextClass) Creates anApplicationContextFactorythat will create contexts by instantiating the givencontextClassthrough its primary constructor.
-
Field Details
-
DEFAULT
A defaultApplicationContextFactoryimplementation that will create an appropriate context for theWebApplicationType.
-
-
Method Details
-
getEnvironmentType
default Class<? extends ConfigurableEnvironment> getEnvironmentType(WebApplicationType webApplicationType) Return theEnvironmenttype expected to be set on thecreatedapplication context. The result of this method can be used to convert an existing environment instance to the correct type.- Parameters:
webApplicationType- the web application type- Returns:
- the expected application context type or
nullto use the default - Since:
- 2.6.14
-
createEnvironment
Create a newEnvironmentto be set on thecreatedapplication context. The result of this method must match the type returned bygetEnvironmentType(WebApplicationType).- Parameters:
webApplicationType- the web application type- Returns:
- an environment instance or
nullto use the default - Since:
- 2.6.14
-
create
- Parameters:
webApplicationType- the web application type- Returns:
- the newly created application context
-
ofContextClass
static ApplicationContextFactory ofContextClass(Class<? extends ConfigurableApplicationContext> contextClass) Creates anApplicationContextFactorythat will create contexts by instantiating the givencontextClassthrough its primary constructor.- Parameters:
contextClass- the context class- Returns:
- the factory that will instantiate the context class
- See Also:
-
of
Creates anApplicationContextFactorythat will create contexts by calling the givenSupplier.- Parameters:
supplier- the context supplier, for exampleAnnotationConfigApplicationContext::new- Returns:
- the factory that will instantiate the context class
-