- All Superinterfaces:
- All Known Subinterfaces:
- All Known Implementing Classes:
A profile is a named, logical group of bean definitions to be registered
with the container only if the given profile is active. Beans may be assigned
to a profile whether defined in XML or via annotations; see the spring-beans 3.1 schema
@Profile annotation for
syntax details. The role of the
Environment object with relation to profiles is
in determining which profiles (if any) are currently active, and which profiles (if any) should be active
Properties play an important role in almost all applications, and may
originate from a variety of sources: properties files, JVM system properties, system
environment variables, JNDI, servlet context parameters, ad-hoc Properties objects,
Maps, and so on. The role of the
Environment object with relation to properties
is to provide the user with a convenient service interface for configuring property
sources and resolving properties from them.
Beans managed within an
ApplicationContext may register to be
Environment in order to query profile state or resolve properties directly.
In most cases, however, application-level beans should not need to interact with the
Environment directly but instead may have to have
values replaced by a property placeholder configurer such as
PropertySourcesPlaceholderConfigurer, which itself is
as of Spring 3.1 is registered by default when using
Configuration of the
Environment object must be done through the
ConfigurableEnvironment interface, returned from all
getEnvironment() methods. See
ConfigurableEnvironment Javadoc for usage examples demonstrating manipulation
of property sources prior to application context
- Chris Beams
- See Also:
Method SummaryModifier and TypeMethodDescription
StringReturn the set of profiles explicitly made active for this environment.
StringReturn the set of profiles to be active by default when no active profiles have been set explicitly.
Methods inherited from interface org.springframework.core.env.PropertyResolver
containsProperty, getProperty, getProperty, getProperty, getProperty, getRequiredProperty, getRequiredProperty, resolvePlaceholders, resolveRequiredPlaceholders
getActiveProfilesString getActiveProfiles()Return the set of profiles explicitly made active for this environment. Profiles are used for creating logical groupings of bean definitions to be registered conditionally, for example based on deployment environment. Profiles can be activated by setting "spring.profiles.active" as a system property or by calling
If no profiles have explicitly been specified as active, then any default profiles will automatically be activated.
getDefaultProfilesString getDefaultProfiles()Return the set of profiles to be active by default when no active profiles have been set explicitly.
acceptsProfiles@Deprecated boolean acceptsProfiles
(String... profiles)Deprecated.as of 5.1 in favor of
acceptsProfiles(Profiles)Return whether one or more of the given profiles is active or, in the case of no explicit active profiles, whether one or more of the given profiles is included in the set of default profiles. If a profile begins with '!' the logic is inverted, i.e. the method will return
trueif the given profile is not active. For example,
env.acceptsProfiles("p1", "!p2")will return
trueif profile 'p1' is active or 'p2' is not active.
IllegalArgumentException- if called with zero arguments or if any profile is
null, empty, or whitespace only
- See Also: