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
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ApplicationContextFactoryA defaultApplicationContextFactoryimplementation that will create an appropriate context for theWebApplicationType. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.context.ConfigurableApplicationContextcreate(WebApplicationType webApplicationType) default org.springframework.core.env.ConfigurableEnvironmentcreateEnvironment(WebApplicationType webApplicationType) Create a newEnvironmentto be set on thecreatedapplication context.default Class<? extends org.springframework.core.env.ConfigurableEnvironment>getEnvironmentType(WebApplicationType webApplicationType) Return theEnvironmenttype expected to be set on thecreatedapplication context.static ApplicationContextFactoryCreates anApplicationContextFactorythat will create contexts by calling the givenSupplier.static ApplicationContextFactoryofContextClass(Class<? extends org.springframework.context.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 org.springframework.core.env.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
default org.springframework.core.env.ConfigurableEnvironment createEnvironment(WebApplicationType webApplicationType) 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
org.springframework.context.ConfigurableApplicationContext create(WebApplicationType webApplicationType) - Parameters:
webApplicationType- the web application type- Returns:
- the newly created application context
-
ofContextClass
static ApplicationContextFactory ofContextClass(Class<? extends org.springframework.context.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:
-
BeanUtils.instantiateClass(Class)
-
of
static ApplicationContextFactory of(Supplier<org.springframework.context.ConfigurableApplicationContext> supplier) 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
-