@Target(value=TYPE) @Retention(value=RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import(value=EnableAutoConfigurationImportSelector.class) public @interface EnableAutoConfiguration
tomcat-embedded.jar
on your classpath you are likely to want a
TomcatEmbeddedServletContainerFactory
(unless you have defined your own
EmbeddedServletContainerFactory
bean).
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 exclude()
any
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 @EnableAutoConfiguration
has
specific significance and is often used as a 'default'. For example, it will be used
when scanning for @Entity
classes. It is generally recommended that you place
@EnableAutoConfiguration
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
often using @ConditionalOnClass
and
@ConditionalOnMissingBean
annotations).
ConditionalOnBean
,
ConditionalOnMissingBean
,
ConditionalOnClass
,
AutoConfigureAfter
Modifier and Type | Optional Element and Description |
---|---|
Class<?>[] |
exclude
Exclude specific auto-configuration classes such that they will never be applied.
|
String[] |
excludeName
Exclude specific auto-configuration class names such that they will never be
applied.
|
public abstract Class<?>[] exclude
public abstract String[] excludeName
Copyright © 2016 Pivotal Software, Inc.. All rights reserved.