Profiles & Environment
Spring profiles (@Profile), application-{profile}.properties, profile activation, environment variables
1What does the @Profile annotation allow in Spring?
What does the @Profile annotation allow in Spring?
답변
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.
2Which property activates a Spring Boot profile at application startup?
Which property activates a Spring Boot profile at application startup?
답변
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).
3How to name a configuration file specific to the 'production' profile?
How to name a configuration file specific to the 'production' profile?
답변
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.
What is the difference between spring.profiles.active and spring.profiles.include?
What is the Environment interface in Spring?
+17 면접 질문