Interface ApplicationContextBuilder

All Known Implementing Classes:
DefaultApplicationContextBuilder, Micronaut

@NullMarked public interface ApplicationContextBuilder
An interface for building an application context.
Since:
1.0
Author:
graemerocher
See Also:
  • Method Details

    • beanResolutionTrace

      default ApplicationContextBuilder beanResolutionTrace(BeanResolutionTraceMode traceMode, String... classPatterns)
      Sets the trace mode for bean resolution.
      Parameters:
      traceMode - The debug mode
      classPatterns - The patterns
      Returns:
      This builder
      Since:
      4.8.0
      See Also:
    • beanResolutionTrace

      default ApplicationContextBuilder beanResolutionTrace(BeanResolutionTraceConfiguration configuration)
      Sets the trace mode for bean resolution.
      Parameters:
      configuration - The trace configuration
      Returns:
      This builder
      Since:
      4.8.0
      See Also:
    • eagerInitConfiguration

      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

      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

      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

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

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

      ApplicationContextBuilder singletons(@Nullable Object... beans)
      Additional singletons to register prior to startup.
      Parameters:
      beans - The beans
      Returns:
      This builder
    • beanDefinitions

      default ApplicationContextBuilder beanDefinitions(RuntimeBeanDefinition<?>... definitions)
      Register additional runtime bean definitions prior to startup.
      Parameters:
      definitions - The definitions.
      Returns:
      The context builder
      Since:
      4.5.0
    • beanConfigurations

      default ApplicationContextBuilder beanConfigurations(BeanConfiguration... configurations)
      Register additional bean configurations.
      Parameters:
      configurations - The configurations.
      Returns:
      This builder
      Since:
      4.8.0
    • deduceEnvironment

      ApplicationContextBuilder deduceEnvironment(@Nullable Boolean deduceEnvironment)
      If set to true (the default is true) Micronaut will attempt to automatically deduce the environment it is running in using environment variables and/or stack trace inspection.

      This method differs from deduceCloudEnvironment(boolean) which performs extended network and/or disk probes to try and automatically establish the Cloud environment.

      This behaviour controls the automatic activation of, for example, the Environment.TEST when running tests.

      Parameters:
      deduceEnvironment - The boolean
      Returns:
      This builder
    • deducePackage

      ApplicationContextBuilder deducePackage(boolean deducePackage)
      If the package should be deduced from the stack trace. (default is true)
      Parameters:
      deducePackage - The boolean
      Returns:
      This builder
      Since:
      5.0
    • deduceCloudEnvironment

      ApplicationContextBuilder deduceCloudEnvironment(boolean deduceEnvironment)
      If set to true (the default value is false) Micronaut will attempt to automatically deduce the Cloud environment it is running within.

      Enabling this should be done with caution since network probes are required to figure out whether the application is running in certain clouds like GCP.

      Parameters:
      deduceEnvironment - The boolean
      Returns:
      This builder
      Since:
      4.0.0
    • environments

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

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

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

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

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

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

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

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

      ApplicationContextBuilder mainClass(@Nullable Class<?> mainClass)
      The main class used by this application.
      Parameters:
      mainClass - The main class
      Returns:
      This builder
    • classLoader

      ApplicationContextBuilder classLoader(@Nullable ClassLoader classLoader)
      The class loader to be used.
      Parameters:
      classLoader - The classloader
      Returns:
      This builder
    • build

      Builds the ApplicationContext, but does not start it.
      Returns:
      The built, but not running ApplicationContext
    • include

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

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

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

      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

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

      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
    • beanDefinitionsProvider

      default ApplicationContextBuilder beanDefinitionsProvider(BeanDefinitionsProvider provider)
      Override the default BeanDefinitionsProvider.
      Parameters:
      provider - The bean definitions provider to be used.
      Returns:
      This builder instance for method chaining.
      Since:
      5.0
    • eagerBeansEnabled

      ApplicationContextBuilder eagerBeansEnabled(boolean enabled)
      Disable eager beans functionality.
      Parameters:
      enabled - True to enable eager beans; false to disable
      Returns:
      This builder
      Since:
      5.0
    • eventsEnabled

      ApplicationContextBuilder eventsEnabled(boolean enabled)
      Enable or disable application events publishing.
      Parameters:
      enabled - True to enable events; false to disable
      Returns:
      This builder
      Since:
      5.0
    • beansPredicate

      ApplicationContextBuilder beansPredicate(@Nullable Predicate<QualifiedBeanType<?>> predicate)
      Set a predicate to filter beans considered by the context.
      Parameters:
      predicate - The predicate to apply, or null to clear it
      Returns:
      This builder
      Since:
      5.0
    • beanConfigurationsPredicate

      ApplicationContextBuilder beanConfigurationsPredicate(@Nullable Predicate<BeanConfiguration> predicate)
      Set a predicate to filter bean configuration considered by the context.
      Parameters:
      predicate - The predicate to apply, or null to clear it
      Returns:
      This builder
      Since:
      5.0
    • resourceResolver

      ApplicationContextBuilder resourceResolver(@Nullable ClassPathResourceLoader resourceResolver)
      Sets the class path resource resolver for the application context builder.
      Parameters:
      resourceResolver - the class path resource resolver
      Returns:
      This builder
      Since:
      5.0
    • propertySourcesLocator

      ApplicationContextBuilder propertySourcesLocator(PropertySourcesLocator propertySourcesLocator)
      Adds a property sources locator to the application context builder.
      Parameters:
      propertySourcesLocator - the property sources locator
      Returns:
      This builder
      Since:
      5.0
    • start

      default ApplicationContext start()
      Starts the ApplicationContext.
      Returns:
      The running ApplicationContext
    • run

      default <T extends AutoCloseable> T run(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 shut down the context.
      Parameters:
      type - The type of the bean to run
      Returns:
      The running bean