@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import(value=EnableAutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration
tomcat-embedded.jaron your classpath you are likely to want a
TomcatEmbeddedServletContainerFactory(unless you have defined your own
SpringBootApplication, the auto-configuration of the context is
automatically enabled and adding this annotation has therefore no additional effect.
Auto-configuration tries to be as intelligent as possible and will back-away as you
define more of your own configuration. You can always manually
configuration that you never want to apply (use
excludeName() if you don't
have access to them). You can also exclude them via the
spring.autoconfigure.exclude property. Auto-configuration is always applied
after user-defined beans have been registered.
The package of the class that is annotated with
@SpringBootApplication, has specific significance and is often used
as a 'default'. For example, it will be used when scanning for
It is generally recommended that you place
@EnableAutoConfiguration (if you're
@SpringBootApplication) in a root package so that all sub-packages
and classes can be searched.
Auto-configuration classes are regular Spring
Configuration beans. They are
located using the
SpringFactoriesLoader mechanism (keyed against this class).
Generally auto-configuration beans are
@Conditional beans (most
|Modifier and Type||Fields and Description|
|Modifier and Type||Optional Element and Description|
Exclude specific auto-configuration classes such that they will never be applied.
Exclude specific auto-configuration class names such that they will never be applied.
public static final String ENABLED_OVERRIDE_PROPERTY
public abstract Class<?> exclude
public abstract String excludeName
Copyright © 2019 Pivotal Software, Inc.. All rights reserved.