在使用spring做爲容器進行項目開發中會有不少的配置文件,這些配置文件都是經過Spring的Resource接口來實現加載,其實Spring的Resource接口是對java.net.URL的一個強化,由於咱們的配置文件不單單是來自於http請求或者ftp請求,還有不少classpath或者fileSystem或者InputStream(不多見),爲了解決這個需求Spring開發了Resource接口:java
Resource接口源碼以下:spring
package org.springframework.core.io; import java.io.File; import java.io.IOException; import java.net.URI; import java.net.URL; public interface Resource extends InputStreamSource { boolean exists(); boolean isReadable(); boolean isOpen(); URL getURL() throws IOException; URI getURI() throws IOException; File getFile() throws IOException; long contentLength() throws IOException; long lastModified() throws IOException; Resource createRelative(String relativePath) throws IOException; String getFilename(); String getDescription(); }
Resource只是一個標準,一個用於解決上面說到的需求的標準,具體的使用方式有如下幾種:spa
1.引用http資源:.net
2.引用classpath資源:code
3.引用fileSystem資源:blog
4.使用相對路徑的資源:接口
code以下:ip
ClassPathXmlApplicationContext cx = new ClassPathXmlApplicationContext(); //http: Resource template1 = cx.getResource("http://www.chexiang.com"); //classpath: Resource template2 = cx.getResource("calsspath:xxx.text"); //fileSystem: Resource template3 = cx.getResource("file:xsd/spring-aop-3.1.xsd"); //相對路徑:必須和當前的ApplicationContext路徑在一塊兒 Resource template4 = cx.getResource("/test/Messenger.groovy");