[b]访问资源的核心:Resource[/b]
这是一个接口,这个接口定义了7种方法。
在spring内部,spring是使用了另外一个接口,ResourceLoader以及缺省实现DefaultResourceLoader来定位和创建Resource资源。一般是不会和DefaultResourceLoader打交道的,是用的是另一个实现------ApplicationContext。
下面是个访问三种资源的例子:
这是一个接口,这个接口定义了7种方法。
boolean exists();
boolean isOpen();
URL getURL();
File getFile();
String getFilename();
String getDescription();
Resource createRelative(String relativePath);
在spring内部,spring是使用了另外一个接口,ResourceLoader以及缺省实现DefaultResourceLoader来定位和创建Resource资源。一般是不会和DefaultResourceLoader打交道的,是用的是另一个实现------ApplicationContext。
下面是个访问三种资源的例子:
/*
* Created on 07-Aug-2004
*/
package com.apress.prospring.ch5.resource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.Resource;
/**
* @author robh
*/
public class ResourceDemo {
public static void main(String[] args) throws Exception {
ApplicationContext ctx = new FileSystemXmlApplicationContext(
"./ch5/src/conf/events/events.xml");
Resource res1 = ctx.getResource("file:///D:\\学习笔记\\学习心得\\学习心得.doc");
displayInfo(res1);
//Resource res2 = ctx.getResource("classpath:lib/commons-logging.jar");
//displayInfo(res2);
Resource res3 = ctx.getResource("http://www.google.co.uk");
displayInfo(res3);
}
private static void displayInfo(Resource res) throws Exception {
System.out.println(res.getClass());
System.out.println(res.getURL().getContent());
System.out.println("");
}
}