一、资源抽象接口
JDK所提供的访问资源的类(如java.net.URL、File等)并不能很好的满足各种底层资源的访问需求,比如缺少从各路径或者web容器的上下文中获取资源的操作类。Spring设计了一个Resource接口,它为应用提供了更强的底层资源访问的能力。该接口拥有对应不同资源类型的实现类。
boolean exists():资源是否存在。
boolean isOpen():资源是否打开
URL getURL() throws IOException:如果底层资源可以表示成URL,则该方法返回对应的URL对象
InputStream getInputStream() throws IOException:返回资源对应的输入流
Resource在Spring框架中起着不可或缺的作用,Spring框架使用Resource装载各种资源,包括配置文件资源、国际化属性文件资源等。
二、资源加载
为了访问不同类型的资源,必须使用相应的Resource实现类,比较麻烦。Spring提供了一个强大的加载资源的机制,不但能够通过"classpath:"、"file:"等资源地址前缀标识不同的资源类型,还支持Ant风格带通配符的资源地址。资源地址表达式前缀如下: