自动化配置

  1. @EnableAutoConfiguration
  2. public class App {
  3. public static void main (String[] args) {
  4. SpringApplication.run(App.class, args);
  5. }
  6. }
  1. @Configuration
  2. public class WebConfiguration {
  3. ......
  4. }
  1. import org.springframework.context.annotation.Configuration;
  2. import org.springframework.context.annotation.Import;
  3. @Configuration
  4. @Import(WebConfiguration.class)
  5. public class WebAutoConfiguration {
  6. ......
  7. }

src/main/resources/META-INF/spring.factories

  1. #自动装配
  2. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.xxx.WebAutoConfiguration

@SpringBootApplication是SpringBoot的核心注解配置类。

条件化自动配置

@ConditionalOnBean
@ConditionalOnClass
@ConditionalOnMissingBean
@ConditionalOnProperty
@ConditionalOnResource
@ConditionalOnSingleCandidate
@ConditionalOnWebApplication

spring-boot-starter