Spring Boot

Profiles & Environment

Spring profiles (@Profile), application-{profile}.properties, profile activation, environment variables

20 interview questions·
Mid-Level
1

What does the @Profile annotation allow in Spring?

Answer

The @Profile annotation allows conditional bean or configuration activation based on active profiles. When a profile is active (via spring.profiles.active), only beans annotated with that profile are loaded into the Spring context. This enables different configurations for dev, test and production without code duplication. For example, using H2 database in dev and PostgreSQL in production.

2

Which property activates a Spring Boot profile at application startup?

Answer

The spring.profiles.active property activates one or more profiles at startup. It can be defined in application.yml, via command line (--spring.profiles.active=prod), or through environment variables. This property is the standard method for selecting the execution environment (dev, test, prod).

3

How to name a configuration file specific to the 'production' profile?

Answer

Profile-specific configuration files follow the pattern application-{profile}.yml or application-{profile}.properties. For the 'production' profile, the file will be application-production.yml. These files override properties from the main application.yml when the corresponding profile is active.

4

What is the difference between spring.profiles.active and spring.profiles.include?

5

What is the Environment interface in Spring?

+17 interview questions

Master Spring Boot for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free