Caution against using component scanning in an auto-configuration

Closes gh-15348
This commit is contained in:
Andy Wilkinson
2019-02-12 16:34:05 +00:00
parent 8e6b4629d4
commit 3a6d15acf6

View File

@@ -8072,6 +8072,14 @@ published jar. The file should list your configuration classes under the
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
{sc-spring-boot-autoconfigure}/AutoConfigureAfter.{sc-ext}[`@AutoConfigureAfter`] or
{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
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]]