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.


    @FunctionalInterface
    public interface ApplicationContextFactory
    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
    • Method Detail

      • getEnvironmentType

        default java.lang.Class<? extends org.springframework.core.env.ConfigurableEnvironment> getEnvironmentType(WebApplicationType webApplicationType)
        Return the Environment type expected to be set on the created 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 new Environment to be set on the created application context. The result of this method must match the type returned by getEnvironmentType(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)
        Creates the application context for a SpringApplication, respecting the given webApplicationType.
        Parameters:
        webApplicationType - the web application type
        Returns:
        the newly created application context
      • ofContextClass

        static ApplicationContextFactory ofContextClass(java.lang.Class<? extends org.springframework.context.ConfigurableApplicationContext> contextClass)
        Creates an ApplicationContextFactory that will create contexts by instantiating the given contextClass through 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(java.util.function.Supplier<org.springframework.context.ConfigurableApplicationContext> supplier)
        Creates an ApplicationContextFactory that will create contexts by calling the given Supplier.
        Parameters:
        supplier - the context supplier, for example AnnotationConfigApplicationContext::new
        Returns:
        the factory that will instantiate the context class