Spring提供了對資源檔案的泛型存取(Generic access),ApplicationContext繼承了ResourceLoader介面,您可以使用getResource()方法並指定資源檔 案的url來取得一個實作Resource介面的實例,例如:
Resource resource = context.getResource(
"classpath:admin.properties");
"classpath:admin.properties");
"classpath:"是Spring自訂的url虛擬協定,這會取回一個 org.springframework.core.io.ClassPathResource實例,資源檔案是位於CLASSPATH根目錄中,您也可 以指定標準的url,像是"file:"或"http:",例如:
Resource resource = context.getResource(
"file:c:/workspace/springtest/conf/admin.properties");
"file:c:/workspace/springtest/conf/admin.properties");
這會返回一個org.springframework.core.io.FileSystemResource實例,或者您可以如下指定來返回一個ServletContextResource實例:
Resource resource = context.getResource("WEB-INF/conf/admin.properties");
取得一個實作Resource介面的實例之後,您可以使用getFile()、getInputStream()等方式來操作或取得資源檔案的相關資源, Resource介面的實例只是資源檔案的一個抽象代表,指定的資源檔案實際上可能並不存在,您可以使用exists()方法來進行測試。