SpringBoot的@Import和@ImportResource

  1. @Import
    • 源码  
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Import {

    /**
     * {@link Configuration @Configuration}, {@link ImportSelector},
     * {@link ImportBeanDefinitionRegistrar}, or regular component classes to import.
     */
    Class<?>[] value();

}
    • 使用说明  
    1. 导入@Configuration注解的配置类(4.2版本之前只可以导入配置类,4.2版本之后也可以导入普通类)
    2. 导入ImportSelector的实现类
    3. 导入ImportBeanDefinitionRegistrar的实现类
  1. @ImportResource
    • 源码
      @Retention(RetentionPolicy.RUNTIME)
      @Target(ElementType.TYPE)
      @Documented
      public @interface ImportResource {
      
          /**
           * Alias for {@link #locations}.
           * @see #locations
           * @see #reader
           */
          @AliasFor("locations")
          String[] value() default {};
      
          /**
           * Resource locations from which to import.
           * <p>Supports resource-loading prefixes such as {@code classpath:},
           * {@code file:}, etc.
           * <p>Consult the Javadoc for {@link #reader} for details on how resources
           * will be processed.
           * @since 4.2
           * @see #value
           * @see #reader
           */
          @AliasFor("value")
          String[] locations() default {};
      
          /**
           * {@link BeanDefinitionReader} implementation to use when processing
           * resources specified via the {@link #value} attribute.
           * <p>By default, the reader will be adapted to the resource path specified:
           * {@code ".groovy"} files will be processed with a
           * {@link org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader GroovyBeanDefinitionReader};
           * whereas, all other resources will be processed with an
           * {@link org.springframework.beans.factory.xml.XmlBeanDefinitionReader XmlBeanDefinitionReader}.
           * @see #value
           */
          Class<? extends BeanDefinitionReader> reader() default BeanDefinitionReader.class;
      
      }
    • 使用说明

       @ImportResource等同于xml配置:<import resource="配置文件.xml" />

原文地址:https://www.cnblogs.com/dai-tao/p/13125316.html