記錄一下 Spring 如何掃描註解的 Bean 與資源

Spring 相關代碼分析

本文經過對 Spring 的源代碼來理解它是如何掃描 Bean 與資源的,由於本身有一個相似的需求,想把一堆的配置文件丟到 resources 下某個目錄中,在程序啓動的時候能加載它們。由於文件名是不必定的,因此不能直接指定文件名來加載,經過對 Spring 掃描資源的理解後,能夠在本身的代碼中手工掃描那些配置文件,之後有任何新的配置文件只須要扔到相應的配置目錄便可。html

下面以一個最簡單的 Spring Boot 項目爲例,調試並觀察源代碼java

@SpringBootApplication
@ComponentScan(basePackages = "cc.unmi")
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

仍是直奔主題吧,不一步一步的去探尋究竟是哪一個實現類去掃描資源的,用 Google 找到的是 ClassPathScanningCandidateComponentProvider, 所以直接在這個類的敏感位置上打上斷點,好比它的構造函數 閱讀全文 >>spring

相關文章
相關標籤/搜索