天天看點

Spring按classpath搜尋資源檔案1、描述2、問題3、解決方案

1、描述

在使用Spring配置的時候,我們經常看到諸如 classpath:/spring/*.xml 的配置,該配置會按規則比對資源檔案。甚至,classpath*:/spring/*.xml 還能比對依賴包的資源檔案。

2、問題

如果項目有特定需要,想通過這樣的方式把資源檔案比對出來,再通過java代碼處理其它業務,怎麼辦?通過 Type.class.getResource("/") 的方式嗎?No,這方法不夠優越。

3、解決方案

String locationPattern = "classpath*:/config/application*.yml";
		PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(new PathMatchingResourcePatternResolver());
		Resource[] resources = resolver.getResources(locationPattern);           

上述代碼用于比對yml檔案,擷取到Resource數組後,再進行後續操作即可。