Caution against using component scanning in an auto-configuration

Closes gh-15348
pull/15943/head
Andy Wilkinson 6 years ago
parent 8e6b4629d4
commit 3a6d15acf6

@ -8072,6 +8072,14 @@ published jar. The file should list your configuration classes under the
com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration com.mycorp.libx.autoconfigure.LibXWebAutoConfiguration
---- ----
[NOTE]
====
Auto-configurations must be loaded that way _only_. Make sure that they are defined in
a specific package space and that they are never the target of component scanning.
Futhermore, auto-configuration classes should not enable component scanning to find
additional components. Specific `@Import`s should be used instead.
====
You can use the You can use the
{sc-spring-boot-autoconfigure}/AutoConfigureAfter.{sc-ext}[`@AutoConfigureAfter`] or {sc-spring-boot-autoconfigure}/AutoConfigureAfter.{sc-ext}[`@AutoConfigureAfter`] or
{sc-spring-boot-autoconfigure}/AutoConfigureBefore.{sc-ext}[`@AutoConfigureBefore`] {sc-spring-boot-autoconfigure}/AutoConfigureBefore.{sc-ext}[`@AutoConfigureBefore`]
@ -8084,13 +8092,6 @@ knowledge of each other, you can also use `@AutoConfigureOrder`. That annotation
same semantic as the regular `@Order` annotation but provides a dedicated order for same semantic as the regular `@Order` annotation but provides a dedicated order for
auto-configuration classes. auto-configuration classes.
[NOTE]
====
Auto-configurations must be loaded that way _only_. Make sure that they are defined in
a specific package space and that, in particular, they are never the target of component
scanning.
====
[[boot-features-condition-annotations]] [[boot-features-condition-annotations]]

Loading…
Cancel
Save