bei der Definition von WebMvcAutoConfigurationAdapter
Werfen Sie einen Blick in den source code für WebMvcAutoConfiguration
Ihre Antwort zu finden:
// Defined as a nested config to ensure WebMvcConfigurerAdapter is not read when not
// on the classpath
@Configuration
@Import(EnableWebMvcConfiguration.class)
@EnableConfigurationProperties({ WebMvcProperties.class, ResourceProperties.class })
public static class WebMvcAutoConfigurationAdapter extends WebMvcConfigurerAdapter {
...
}
Die Auto-Konfiguration Klassen als verschachtelte statische Klassen definiert sind Spring Komponenten Abtastung von der Kommissionierung sie bis zu verhindern automatisch, wenn die richtige Anmerkung nicht verwendet wurde. Eine gute Faustregel wäre also, Ihre Konfigurationsklassen als eigenständige Klassen zu definieren, wenn Sie erwarten, dass sie jedes Mal verwendet werden, oder als geschachtelte statische Klassen, wenn Sie sie vom Klassenpfad-Scan isolieren möchten.