注释类型 EnableAutoConfiguration


  • @Target(TYPE)
    @Retention(RUNTIME)
    @Documented
    @Inherited
    @AutoConfigurationPackage
    @Import(AutoConfigurationImportSelector.class)
    public @interface EnableAutoConfiguration
    Enable auto-configuration of the Spring Application Context, attempting to guess and configure beans that you are likely to need. Auto-configuration classes are usually applied based on your classpath and what beans you have defined. For example, if you have tomcat-embedded.jar on your classpath you are likely to want a TomcatServletWebServerFactory (unless you have defined your own ServletWebServerFactory bean).

    When using 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 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, usually via @SpringBootApplication, 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 (if you're not using @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 often using @ConditionalOnClass and @ConditionalOnMissingBean annotations).

    另请参阅:
    ConditionalOnBean, ConditionalOnMissingBean, ConditionalOnClass, AutoConfigureAfter, SpringBootApplication
    • 可选元素概要

      可选元素 
      修饰符和类型可选元素说明
      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.
    • 元素详细资料

      • exclude

        Class<?>[] exclude
        Exclude specific auto-configuration classes such that they will never be applied.
        返回:
        the classes to exclude
        默认值:
        {}
      • excludeName

        String[] excludeName
        Exclude specific auto-configuration class names such that they will never be applied.
        返回:
        the class names to exclude
        从以下版本开始:
        1.3.0
        默认值:
        {}