content: package com.alibaba.cola.extension;
  
  import com.alibaba.cola.extension.register.ExtensionBootstrap;
  import com.alibaba.cola.extension.register.ExtensionRegister;
  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.ComponentScan;
  import org.springframework.context.annotation.Configuration;
  
  /**
   * @ Description   :
   * @ Author        :  Frank Zhang
   * @ CreateDate    :  2020/11/09
   * @ Version       :  1.0
   */
  @Configuration
  public class ExtensionAutoConfiguration {
  
      @Bean(initMethod = "init")
      @ConditionalOnMissingBean(ExtensionBootstrap.class)
      public ExtensionBootstrap bootstrap() {
          return new ExtensionBootstrap();
      }
  
      @Bean
      @ConditionalOnMissingBean(ExtensionRepository.class)
      public ExtensionRepository repository() {
          return new ExtensionRepository();
      }
  
      @Bean
      @ConditionalOnMissingBean(ExtensionExecutor.class)
      public ExtensionExecutor executor() {
          return new ExtensionExecutor();
      }
  
      @Bean
      @ConditionalOnMissingBean(ExtensionRegister.class)
      public ExtensionRegister register() {
          return new ExtensionRegister();
      }
  
  }
  