Package io.micronaut.context
Interface ApplicationContextBuilder
- All Known Implementing Classes:
DefaultApplicationContextBuilder
,Micronaut
public interface ApplicationContextBuilder
An interface for building an application context.
- Since:
- 1.0
- Author:
- graemerocher
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionallowEmptyProviders
(boolean shouldAllow) Whether to error on an empty bean provider.default @NonNull ApplicationContextBuilder
Set the command line arguments.banner
(boolean isEnabled) Whether the banner is enabled or not.default @NonNull ApplicationContextBuilder
beanDefinitions
(@NonNull RuntimeBeanDefinition<?>... definitions) Register additional runtime bean definitions prior to startup.default @NonNull ApplicationContextBuilder
bootstrapEnvironment
(boolean bootstrapEnv) Sets whether the bootstrap environment should be initialized.build()
Builds theApplicationContext
, but does not start it.classLoader
(@Nullable ClassLoader classLoader) The class loader to be used.deduceCloudEnvironment
(boolean deduceEnvironment) If set totrue
(the default value isfalse
) Micronaut will attempt to automatically deduce the Cloud environment it is running within.deduceEnvironment
(@Nullable Boolean deduceEnvironment) If set totrue
(the default istrue
) Micronaut will attempt to automatically deduce the environment it is running in using environment variables and/or stack trace inspection.defaultEnvironments
(@Nullable String... environments) The environments to use if no other environments are specified.eagerInitAnnotated
(Class<? extends Annotation>... annotations) Specifies to eager init the given annotated types.default @NonNull ApplicationContextBuilder
eagerInitConfiguration
(boolean eagerInitConfiguration) Whether to eager initializeConfigurationProperties
beans.default @NonNull ApplicationContextBuilder
eagerInitSingletons
(boolean eagerInitSingletons) Whether to eager initialize singleton beans.default @NonNull ApplicationContextBuilder
enableDefaultPropertySources
(boolean areEnabled) Specify whether the default set of property sources should be enabled (default istrue
).environmentPropertySource
(boolean environmentPropertySource) Set whether environment variables should contribute to configuration.environments
(@Nullable String... environments) The environments to use.environmentVariableExcludes
(@Nullable String... environmentVariables) Which environment variables should not contribute to configuration.environmentVariableIncludes
(@Nullable String... environmentVariables) Which environment variables should contribute to configuration.Allow customizing the configurations that will be loaded.Allow customizing the configurations that will be loaded.The main class used by this application.overrideConfigLocations
(String... configLocations) Override default config locations.The packages to include for package scanning.properties
(@Nullable Map<String, Object> properties) Properties to override from the environment.propertySources
(@Nullable PropertySource... propertySources) Additional property sources.default <T extends AutoCloseable>
TRun theApplicationContext
with the given type.singletons
(@Nullable Object... beans) Additional singletons to register prior to startup.default @NonNull ApplicationContext
start()
Starts theApplicationContext
.
-
Method Details
-
eagerInitConfiguration
@NonNull default @NonNull ApplicationContextBuilder eagerInitConfiguration(boolean eagerInitConfiguration) Whether to eager initializeConfigurationProperties
beans.- Parameters:
eagerInitConfiguration
- True if configuration properties should be eagerly initialized- Returns:
- The context builder
- Since:
- 2.0
-
eagerInitSingletons
@NonNull default @NonNull 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 @NonNull ApplicationContextBuilder enableDefaultPropertySources(boolean areEnabled) Specify whether the default set of property sources should be enabled (default istrue
).- Parameters:
areEnabled
- Whether the default property sources are enabled- Returns:
- This builder
- Since:
- 3.7.0
-
eagerInitAnnotated
@NonNull @NonNull 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
Override default config locations.- Parameters:
configLocations
- The config locations- Returns:
- This environment
- Since:
- 2.0
-
singletons
Additional singletons to register prior to startup.- Parameters:
beans
- The beans- Returns:
- This builder
-
beanDefinitions
@NonNull default @NonNull ApplicationContextBuilder beanDefinitions(@NonNull @NonNull RuntimeBeanDefinition<?>... definitions) Register additional runtime bean definitions prior to startup.- Parameters:
definitions
- The definitions.- Returns:
- The context builder
- Since:
- 4.5.0
-
deduceEnvironment
@NonNull @NonNull ApplicationContextBuilder deduceEnvironment(@Nullable @Nullable Boolean deduceEnvironment) If set totrue
(the default istrue
) 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
-
deduceCloudEnvironment
If set totrue
(the default value isfalse
) 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
@NonNull @NonNull ApplicationContextBuilder environments(@Nullable @Nullable String... environments) The environments to use.- Parameters:
environments
- The environments- Returns:
- This builder
-
defaultEnvironments
@NonNull @NonNull ApplicationContextBuilder defaultEnvironments(@Nullable @Nullable String... environments) The environments to use if no other environments are specified.- Parameters:
environments
- The environments- Returns:
- This builder
-
packages
The packages to include for package scanning.- Parameters:
packages
- The packages- Returns:
- This builder
-
properties
@NonNull @NonNull ApplicationContextBuilder properties(@Nullable @Nullable Map<String, Object> properties) Properties to override from the environment.- Parameters:
properties
- The properties- Returns:
- This builder
-
propertySources
@NonNull @NonNull ApplicationContextBuilder propertySources(@Nullable @Nullable PropertySource... propertySources) Additional property sources.- Parameters:
propertySources
- The property sources to include- Returns:
- This builder
-
environmentPropertySource
@NonNull @NonNull ApplicationContextBuilder environmentPropertySource(boolean environmentPropertySource) Set whether environment variables should contribute to configuration.- Parameters:
environmentPropertySource
- The boolean- Returns:
- This builder
-
environmentVariableIncludes
@NonNull @NonNull ApplicationContextBuilder environmentVariableIncludes(@Nullable @Nullable String... environmentVariables) Which environment variables should contribute to configuration.- Parameters:
environmentVariables
- The environment variables- Returns:
- This builder
-
environmentVariableExcludes
@NonNull @NonNull ApplicationContextBuilder environmentVariableExcludes(@Nullable @Nullable String... environmentVariables) Which environment variables should not contribute to configuration.- Parameters:
environmentVariables
- The environment variables- Returns:
- This builder
-
mainClass
The main class used by this application.- Parameters:
mainClass
- The main class- Returns:
- This builder
-
classLoader
@NonNull @NonNull ApplicationContextBuilder classLoader(@Nullable @Nullable ClassLoader classLoader) The class loader to be used.- Parameters:
classLoader
- The classloader- Returns:
- This builder
-
build
Builds theApplicationContext
, but does not start it.- Returns:
- The built, but not running
ApplicationContext
-
include
Allow customizing the configurations that will be loaded.- Parameters:
configurations
- The configurations to include- Returns:
- This application
-
exclude
Allow customizing the configurations that will be loaded.- Parameters:
configurations
- The configurations to exclude- Returns:
- This application
-
banner
Whether the banner is enabled or not.- Parameters:
isEnabled
- Whether the banner is enabled or not- Returns:
- This application
-
allowEmptyProviders
Whether to error on an empty bean provider. Defaults tofalse
.- Parameters:
shouldAllow
- True if emptyProvider
instances are allowed- Returns:
- This application
- Since:
- 3.0.0
-
args
Set the command line arguments.- Parameters:
args
- The arguments- Returns:
- This application
-
bootstrapEnvironment
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
-
start
Starts theApplicationContext
.- Returns:
- The running
ApplicationContext
-
run
Run theApplicationContext
with the given type. Returning an instance of the type.- Type Parameters:
T
- The type, a subclass ofAutoCloseable
. The close method of the implementation should shut down the context.- Parameters:
type
- The type of the bean to run- Returns:
- The running bean
-