Interface ApplicationContextBuilder

  • All Known Implementing Classes:
    DefaultApplicationContextBuilder

    public interface ApplicationContextBuilder
    An interface for building an application context.
    Since:
    1.0
    • Method Detail

      • eagerInitConfiguration

        @NonNull
        default ApplicationContextBuilder eagerInitConfiguration​(boolean eagerInitConfiguration)
        Whether to eager initialize ConfigurationProperties beans.
        Parameters:
        eagerInitConfiguration - True if configuration properties should be eagerly initialized
        Returns:
        The context builder
        Since:
        2.0
      • eagerInitSingletons

        @NonNull
        default ApplicationContextBuilder eagerInitSingletons​(boolean eagerInitSingletons)
        Whether to eager initialize singleton beans.
        Parameters:
        eagerInitSingletons - True if singletons should be eagerly initialized
        Returns:
        The context builder
        Since:
        2.0
      • enableDefaultPropertySources

        @NonNull
        default ApplicationContextBuilder enableDefaultPropertySources​(boolean areEnabled)
        Specify whether the default set of property sources should be enabled (default is true).
        Parameters:
        areEnabled - Whether the default property sources are enabled
        Returns:
        This builder
        Since:
        3.7.0
      • eagerInitAnnotated

        @NonNull
        ApplicationContextBuilder eagerInitAnnotated​(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)
        Specifies to eager init the given annotated types.
        Parameters:
        annotations - The annotation stereotypes
        Returns:
        The context builder
        Since:
        2.0
      • overrideConfigLocations

        @NonNull
        ApplicationContextBuilder overrideConfigLocations​(java.lang.String... configLocations)
        Override default config locations.
        Parameters:
        configLocations - The config locations
        Returns:
        This environment
        Since:
        2.0
      • singletons

        @NonNull
        ApplicationContextBuilder singletons​(@Nullable
                                             java.lang.Object... beans)
        Additional singletons to register prior to startup.
        Parameters:
        beans - The beans
        Returns:
        This builder
      • deduceEnvironment

        @NonNull
        ApplicationContextBuilder deduceEnvironment​(@Nullable
                                                    java.lang.Boolean deduceEnvironment)
        Whether to deduce environments.
        Parameters:
        deduceEnvironment - The boolean
        Returns:
        This builder
      • environments

        @NonNull
        ApplicationContextBuilder environments​(@Nullable
                                               java.lang.String... environments)
        The environments to use.
        Parameters:
        environments - The environments
        Returns:
        This builder
      • defaultEnvironments

        @NonNull
        ApplicationContextBuilder defaultEnvironments​(@Nullable
                                                      java.lang.String... environments)
        The environments to use if no other environments are specified.
        Parameters:
        environments - The environments
        Returns:
        This builder
      • packages

        @NonNull
        ApplicationContextBuilder packages​(@Nullable
                                           java.lang.String... packages)
        The packages to include for package scanning.
        Parameters:
        packages - The packages
        Returns:
        This builder
      • properties

        @NonNull
        ApplicationContextBuilder properties​(@Nullable
                                             java.util.Map<java.lang.String,​java.lang.Object> properties)
        Properties to override from the environment.
        Parameters:
        properties - The properties
        Returns:
        This builder
      • propertySources

        @NonNull
        ApplicationContextBuilder propertySources​(@Nullable
                                                  PropertySource... propertySources)
        Additional property sources.
        Parameters:
        propertySources - The property sources to include
        Returns:
        This builder
      • environmentPropertySource

        @NonNull
        ApplicationContextBuilder environmentPropertySource​(boolean environmentPropertySource)
        Set whether environment variables should contribute to configuration.
        Parameters:
        environmentPropertySource - The boolean
        Returns:
        This builder
      • environmentVariableIncludes

        @NonNull
        ApplicationContextBuilder environmentVariableIncludes​(@Nullable
                                                              java.lang.String... environmentVariables)
        Which environment variables should contribute to configuration.
        Parameters:
        environmentVariables - The environment variables
        Returns:
        This builder
      • environmentVariableExcludes

        @NonNull
        ApplicationContextBuilder environmentVariableExcludes​(@Nullable
                                                              java.lang.String... environmentVariables)
        Which environment variables should not contribute to configuration.
        Parameters:
        environmentVariables - The environment variables
        Returns:
        This builder
      • mainClass

        @NonNull
        ApplicationContextBuilder mainClass​(@Nullable
                                            java.lang.Class mainClass)
        The main class used by this application.
        Parameters:
        mainClass - The main class
        Returns:
        This builder
      • classLoader

        @NonNull
        ApplicationContextBuilder classLoader​(@Nullable
                                              java.lang.ClassLoader classLoader)
        The class loader to be used.
        Parameters:
        classLoader - The classloader
        Returns:
        This builder
      • include

        @NonNull
        ApplicationContextBuilder include​(@Nullable
                                          java.lang.String... configurations)
        Allow customizing the configurations that will be loaded.
        Parameters:
        configurations - The configurations to include
        Returns:
        This application
      • exclude

        @NonNull
        ApplicationContextBuilder exclude​(@Nullable
                                          java.lang.String... configurations)
        Allow customizing the configurations that will be loaded.
        Parameters:
        configurations - The configurations to exclude
        Returns:
        This application
      • banner

        @NonNull
        ApplicationContextBuilder banner​(boolean isEnabled)
        Whether the banner is enabled or not.
        Parameters:
        isEnabled - Whether the banner is enabled or not
        Returns:
        This application
      • allowEmptyProviders

        @NonNull
        ApplicationContextBuilder allowEmptyProviders​(boolean shouldAllow)
        Whether to error on an empty bean provider. Defaults to false.
        Parameters:
        shouldAllow - True if empty Provider instances are allowed
        Returns:
        This application
        Since:
        3.0.0
      • args

        @NonNull
        default ApplicationContextBuilder args​(@Nullable
                                               java.lang.String... args)
        Set the command line arguments.
        Parameters:
        args - The arguments
        Returns:
        This application
      • bootstrapEnvironment

        @NonNull
        default ApplicationContextBuilder bootstrapEnvironment​(boolean bootstrapEnv)
        Sets whether the bootstrap environment should be initialized.
        Parameters:
        bootstrapEnv - True if it should be initialized. Default true
        Returns:
        This application
        Since:
        3.1.0
      • run

        @NonNull
        default <T extends java.lang.AutoCloseable> T run​(@NonNull
                                                          java.lang.Class<T> type)
        Run the ApplicationContext with the given type. Returning an instance of the type.
        Type Parameters:
        T - The type, a subclass of AutoCloseable. The close method of the implementation should shutdown the context.
        Parameters:
        type - The type of the bean to run
        Returns:
        The running bean