`

Spring资源抽象接口--Resource

 
阅读更多

 

一、资源抽象接口--Resource  

Resource 接口,它为应用提供了更强的访问底层资源的能力。

先来了解一下Resource 接口的主要方法:

    boolean exists():资源是否存在;

    boolean isOpen():资源是否打开;

    URL getURL() throws IOException:如果底层资源可以表示成URL,该方法返回对应的URL 对象;

    File getFile() throws IOException:如果底层资源对应一个文件,该方法返回对应的File 对象;

    InputStream getInputStream() throws IOException:返回资源对应的输入流。

 


ByteArrayResource:二进制数组表示的资源,二进制数组资源可以在内存中通过程序构造;

ClassPathResource:类路径下的资源,资源以相对于类路径的方式表示;

FileSystemResource:文件系统资源,资源以文件系统路径的方式表示,如D:/conf/bean.xml 等;

InputStreamResource:以输入流返回表示的资源;

ServletContextResource:相对于Web 应用根目录的路径加载资源,该类还可以直接从JAR 包中访问资源;

UrlResource:Url 封装了java.net.URL,它使用户能够访问如文件系统的资源、HTTP 资源、FTP 资源等。


使用相应的Resource接口的 实现类,就可以将Spring 的配置信息放置在任何地方,都能访问了。


二、Spring 支持哪些资源类型的地址前缀:

    其中和“classpath:”对应的,还有另一种比较难理解的“classpath*:”前缀。假设有多个JAR 包或文件系统类路径都拥有一个相同的包名(如com.baobaotao)。“classpath:”只会在第一个加载的com.baobaotao 包下查找,而“classpath*:”会到扫描所有这些JAR 包及类路径下出现的com.baobaotao 类路径。

    这对于分模块打包的应用非常有用,假设一个名为baobaotao 的应用共分成3 个模块,一个模块都对应一个配置文件,分别是module1.xml,module2.xml 及module3.xml,都放到com.baobaotao 目录下,每个模块单独打JAR 包。使用“classpath*:com/baobaotao/module*.xml”将可以成功加载到这三个模块的配置文件,而使用“classpath:com/baobaotao/module*.xml”时只会加载一个模块的配置文件。


三、Ant 风格资源地址支持3 种匹配符:  

    ?:匹配文件名中的一个字符;

    *:匹配文件名中任意个字符;

    **:匹配多层路径。

下面是几个Ant 风格的资源路径的示例:

    classpath:com/t?st.xml : 匹配com 类路径下com/test.xml , com/tast.xml 或者com/txst.xml;

    file:D:/conf/*.xml:匹配文件系统D:/conf 目录下所有以xml 为后缀的文件;

    classpath:com/**/test.xml:匹配com 类路径下(当前目录及其子孙目录)的test.xml文件;

    classpath:org/springframework/**/*.xml:匹配类路径org/springframework 下所有以xml 为后缀的文件;

    classpath:org/**/servlet/bla.xml:匹配类路径org/springframework/servlet/bla.xml,也匹配org/springframework/testing/servlet/bla.xml,还匹配org/servlet/bla.xml。


四、PathMatchingResourcePatternResolver

是Spring 提供了标准实现类,用于简单加载资源文件。

Resource resources[] =resolver.getResources("classpath*:com/baobaotao/**/*.xml");

for(Resource resource:resources){

    System.out.println(resource.getDescription());

}


参考《spring 3.x 企业应用开发实战》

  • 大小: 33.8 KB
  • 大小: 75.4 KB
分享到:
评论
1 楼 fyoumu 2011-07-20  
你好,我也是用这款手机,我按着你教的方法安装了,但我在装JAVA游戏是,提示说:所剩空间无法安装,请试着删除其他MIDLet以便增加一些空间。

相关推荐

    spring-framework-4-reference

    Resources部分主要介绍了Spring框架如何通过资源抽象(Resource)来访问低级别的资源,如文件系统、classpath资源等。Resource接口的引入提供了统一的访问方式,不论资源位于何处。Spring还提供了一种资源加载器...

    spring-resource

    `Resource`接口是Spring框架提供的一种抽象层,用于封装资源访问,它可以是本地文件系统中的文件,也可以是URL、类路径下的资源,甚至是JDBC数据源。通过`Resource`接口,开发者可以统一地处理不同来源的资源,提高...

    spring-data-hadoop-1.0.0.jar包

    2. 数据访问抽象:Spring Data Hadoop提供了HDFS的数据存取接口,使得读写Hadoop文件系统如同操作传统数据库一样简单。 3. YARN支持:通过YARN,Spring Data Hadoop可以更好地管理和调度资源,适应大规模分布式计算...

    spring-data-hadoop-2.2.0.RELEASE(含源码)

    - `spring-data-hadoop-2.2.0.RELEASE-sources.jar`:提供源代码,便于开发者查看和学习Spring Data Hadoop的实现细节,包括各种抽象类、接口和工具类。 4. **应用场景**: - 大数据分析:Spring Data Hadoop可以...

    spring-framework-4-reference.pdf

    资源接口抽象了底层资源的不同来源,如文件系统、Web服务器和类路径。ResourceLoader接口使得获取资源变得容易,而ResourceLoaderAware接口则用于让对象能够感知到他们所使用的资源加载器。 验证、数据绑定和类型...

    spring框架3.0.0---api

    Spring 3.0.0也强化了对JDBC和ORM框架(如Hibernate、JPA)的抽象,提供了`JdbcTemplate`和`SimpleJdbcInsert`等工具类,简化了数据库操作。同时,Spring的事务管理能力也得到了提升,支持编程式和声明式事务管理,...

    org.springframework.core_3.1.1.RELEASE.jar

    3. `org.springframework.core.io`: 这个包提供了I/O资源抽象,如`Resource`接口,支持URL、文件、流等多种资源访问方式。`ResourceLoader`则提供了加载资源的通用方法。 4. `org.springframework.core.log`: 提供...

    spring Resource管理详解

    Spring的Resource接口是访问资源的抽象,它提供了一种统一的资源访问方式,可以处理不同来源的资源,包括本地文件系统、类路径、URL等。Resource对象并不直接包含资源内容,而是提供了打开输入流、获取资源路径等...

    spring-frame-4-reference

    - **Built-in Resource implementations**:Spring提供了一系列内置的资源实现,如ClassPathResource、FileSystemResource等。 - **The Resource Loader**:用于加载资源的接口。 - **Resources as dependencies**:...

    spring-boot-cache.rar

    Spring Cache 是 Spring 框架的一部分,它提供了一个抽象层,允许你在不同的缓存提供商(如 EhCache、Redis、Hazelcast 或者 Infinispan)之间进行选择。 1. **配置缓存**:在 Spring Boot 中,你可以通过 `@...

    spring-framework-4-reference 中文文档

    - **Resource 接口**:定义了如何访问资源的标准接口。 - **内置 Resource 实现**:提供了对文件系统、类路径资源等的访问支持。 - **Resource Loader**:用于查找和获取资源。 - **Resource Loader Aware 接口*...

    跟我学spring3(1-7)

    Spring提供了对资源的抽象,如文件、URL等,方便开发者访问和管理。内置Resource接口和其实现类使得资源访问更加统一和灵活。 10. **访问Resource** Spring提供了多种访问Resource的方法,如getResource、...

    spring项目所需jar包

    - `spring-core-5.0.1.RELEASE.jar`:这是Spring框架的基础,提供了核心工具类,包括IoC容器的实现和`Resource`接口,用于加载和访问资源。 - `spring-beans-5.0.1.RELEASE.jar`:包含了Spring Bean的定义和管理,...

    Spring-Reference_zh_CN(Spring中文参考手册)

    5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper 5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 5.4.2.1. 注册用户自定义的PropertyEditor ...

    Spring-Framework-4.x参考文档.pdf

    - **3.2.2 Resource 接口**: Resource 接口是所有资源实现的基类,定义了资源的基本操作。 - **3.2.3 内置 Resource 实现**: Spring 提供了一些内置的 Resource 实现,如 FileSystemResource、ClassPathResource 等...

    spring源码包.zip

    `spring-core`模块包含了Spring的基本工具类和基础设施,如Resource接口、ConversionService接口等,为整个Spring框架提供了基础服务。此外,它还引入了ResourceLoader,用于加载各种类型的资源,如文件、URL、...

Global site tag (gtag.js) - Google Analytics