@EnableAutoConfiguration作用:
.從classpath中搜索所有META-INF/spring.factories配置文件,然後將其中的org.springframework.boot.autoconfigure.EnableAutoConfiguration key對應的配置項加載到Spring容器。
.只有spring.boot.enableautoconfiguration爲true(默認爲true)時,才啓用自動配置
.@EnableAutoConfiguration 還可以進行排除,排除方式有2種,一是根據class來排除(exclude),二是根據class name(excludeName)來排除。
其內部實現的關鍵點是:
(1)ImportSelector,該接口的方法的返回值都會被納入Spring容器管理中。
(2)SpringFactoriesLoader,該類可以從classpath中搜索所有META-INF/spring.factories配置文件,並讀取配置。