Spring框架中的org.springframework.context.annotation.Import注解類


@Import注解的作用和在使用spring的xml配置時用到的<import/>類似。但應注意是@Import在使用時必須要保證能被IOC容器掃描到,所以通常它會和@Configuration或者@ComponentScan配套使用。

@Import可以用來如下四種方式的導入:

  1. 帶有@Configuration注解的類
  2. 實現了ImportSelector接口的類
  3. 實現了ImportBeanDefinitionRegistrar接口的類
  4. 被IOC容器注冊的bean的class 

@Import在使用時可以聲明在JAVA類上,或者作為元注解使用(即聲明在其他注解上)

下面是@Import的源碼:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Import {

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

}

 下面是@Import作為元注解進行使用的場景:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import({AuthorizationServerEndpointsConfiguration.class, AuthorizationServerSecurityConfiguration.class})
public @interface EnableAuthorizationServer {

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM