1. 程式人生 > >【Spring註解驅動開發】在@Import註解中使用ImportSelector介面匯入bean

【Spring註解驅動開發】在@Import註解中使用ImportSelector介面匯入bean

## 寫在前面 > 在上一篇關於Spring的@Import註解的文章《[【Spring註解驅動開發】使用@Import註解給容器中快速匯入一個元件](https://mp.weixin.qq.com/s?__biz=Mzg3MzE1NTIzNA==&mid=2247484863&idx=1&sn=faca9edb10665d357089a290220ede2f&chksm=cee51a72f992936430364b018e07f062c2cb4bbe7111d0b615a1937215170976e5caf23a227b&token=1557037040&lang=zh_CN#rd)》中,我們簡單介紹瞭如何使用@Import註解給容器中快速匯入一個元件,而我們知道,@Import註解總共包含三種使用方法,分別為:直接填class陣列方式;ImportSelector方法(重點);ImportBeanDefinitionRegistrar方式。那麼,今天,我們就一起來學習關於@Import註解非常重要的第二種方式:ImportSelector方式。 > > 專案工程原始碼已經提交到GitHub:[https://github.com/sunshinelyz/spring-annotation](https://github.com/sunshinelyz/spring-annotation) ## ImportSelector介面概述 ImportSelector介面是至spring中匯入外部配置的核心介面,在SpringBoot的自動化配置和@EnableXXX(功能性註解)都有它的存在。我們先來看一下ImportSelector介面的原始碼,如下所示。 ```java package org.springframework.context.annotation; import java.util.function.Predicate; import org.springframework.core.type.AnnotationMetadata; import org.springframework.lang.Nullable; public interface ImportSelector { String[] selectImports(AnnotationMetadata importingClassMetadata); @Nullable default P