Annotation Interface AutoConfiguration


Indicates that a class provides configuration that can be automatically applied by Spring Boot. Auto-configuration classes are regular @Configuration with the exception that proxyBeanMethods is always false. They are located using ImportCandidates.

Generally, auto-configuration classes are top-level classes that are marked as @Conditional (most often using @ConditionalOnClass and @ConditionalOnMissingBean annotations).

Since:
2.7.0
Author:
Moritz Halbritter
See Also:
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Class<?>[]
    The auto-configuration classes that should have already been applied.
    The names of the auto-configuration classes that should have already been applied.
    Class<?>[]
    The auto-configuration classes that should have not yet been applied.
    The names of the auto-configuration classes that should have not yet been applied.
    Explicitly specify the name of the Spring bean definition associated with the @AutoConfiguration class.
  • Element Details

    • value

      Explicitly specify the name of the Spring bean definition associated with the @AutoConfiguration class. If left unspecified (the common case), a bean name will be automatically generated.

      The custom name applies only if the @AutoConfiguration class is picked up through component scanning or supplied directly to an AnnotationConfigApplicationContext. If the @AutoConfiguration class is registered as a traditional XML bean definition, the name/id of the bean element will take precedence.

      Returns:
      the explicit component name, if any (or empty String otherwise)
      See Also:
      Default:
      ""
    • before

      The auto-configuration classes that should have not yet been applied.
      Returns:
      the classes
      Default:
      {}
    • beforeName

      The names of the auto-configuration classes that should have not yet been applied. In the unusual case that an auto-configuration class is not a top-level class, its name should use $ to separate it from its containing class, for example com.example.Outer$NestedAutoConfiguration.
      Returns:
      the class names
      Default:
      {}
    • after

      The auto-configuration classes that should have already been applied.
      Returns:
      the classes
      Default:
      {}
    • afterName

      The names of the auto-configuration classes that should have already been applied. In the unusual case that an auto-configuration class is not a top-level class, its class name should use $ to separate it from its containing class, for example com.example.Outer$NestedAutoConfiguration.
      Returns:
      the class names
      Default:
      {}