diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc index e880616031..022134906f 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc @@ -1625,9 +1625,9 @@ property files>>. [[boot-features-profiles]] == Profiles Spring Profiles provide a way to segregate parts of your application configuration and -make it be available only in certain environments. Any `@Component` or `@Configuration` -can be marked with `@Profile` to limit when it is loaded, as shown in the following -example: +make it be available only in certain environments. Any `@Component`, `@Configuration` +or `@ConfigurationProperties` can be marked with `@Profile` to limit when it is loaded, +as shown in the following example: [source,java,indent=0] ---- @@ -1640,6 +1640,11 @@ example: } ---- +NOTE: If `@ConfigurationProperties` beans are registered via `@EnableConfigurationProperties` +instead of automatic scanning, the `@Profile` annotation needs to be specified on the `@Configuration` +class that has the `@EnableConfigurationProperties` annotation. In the case where `@ConfigurationProperties` +are scanned, `@Profile` can be specified on the `@ConfigurationProperties` class itself. + You can use a `spring.profiles.active` `Environment` property to specify which profiles are active. You can specify the property in any of the ways described earlier in this chapter. For example, you could include it in your `application.properties`, as shown in