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
Modifier and TypeFieldDescriptionstatic final ApplicationContextFactory
A defaultApplicationContextFactory
implementation that will create an appropriate context for theWebApplicationType
. -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.context.ConfigurableApplicationContext
create
(WebApplicationType webApplicationType) default org.springframework.core.env.ConfigurableEnvironment
createEnvironment
(WebApplicationType webApplicationType) Create a newEnvironment
to be set on thecreated
application context.default Class<? extends org.springframework.core.env.ConfigurableEnvironment>
getEnvironmentType
(WebApplicationType webApplicationType) Return theEnvironment
type expected to be set on thecreated
application context.static ApplicationContextFactory
Creates anApplicationContextFactory
that will create contexts by calling the givenSupplier
.static ApplicationContextFactory
ofContextClass
(Class<? extends org.springframework.context.ConfigurableApplicationContext> contextClass) Creates anApplicationContextFactory
that will create contexts by instantiating the givencontextClass
via its primary constructor.
-
Field Details
-
DEFAULT
A defaultApplicationContextFactory
implementation that will create an appropriate context for theWebApplicationType
.
-
-
Method Details
-
getEnvironmentType
default Class<? extends org.springframework.core.env.ConfigurableEnvironment> getEnvironmentType(WebApplicationType webApplicationType) Return theEnvironment
type expected to be set on thecreated
application 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
null
to use the default - Since:
- 2.6.14
-
createEnvironment
default org.springframework.core.env.ConfigurableEnvironment createEnvironment(WebApplicationType webApplicationType) Create a newEnvironment
to be set on thecreated
application context. The result of this method must match the type returned bygetEnvironmentType(WebApplicationType)
.- Parameters:
webApplicationType
- the web application type- Returns:
- an environment instance or
null
to 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 anApplicationContextFactory
that will create contexts by instantiating the givencontextClass
via 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 anApplicationContextFactory
that will create contexts by calling the givenSupplier
.- Parameters:
supplier
- the context supplier, for exampleAnnotationConfigApplicationContext::new
- Returns:
- the factory that will instantiate the context class
-