007 IOC---Resource

Posted 最爱五仁月饼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了007 IOC---Resource相关的知识,希望对你有一定的参考价值。

一 . 概述

  在前面,我们看到了IOC容器的一般使用,但是有一点需要我们注意,spring通过上面能力将各种配置文件读取到的呢?


 二 .资源访问

  资源存在的地点很多,也就造成了资源的使用方式很不同.在使用资源之前,我们首先需要获取资源.

  spring将资源定义为Resource.

其中Reource继承了InputStreamReource.

从上面的图中,我们看到了一个最令我们感兴趣的方法就是getInputSream()方法.

也就是说,我们获取到了Reource就可以将其转换为一个流的形式进行操作.


 三 .Resource的实现类  

ClassPathResource
FileSystemResource

等等,spring几乎将所有的Reource的情况都想到了.我们可以通过这些实现类获取各种资源.


 四 .问题

  spring讲究的是面向接口编程,也就是说不要过于关注实现.

对于Reource来说也是一样的,spring提供了ReourceLoader来完成这个任务.

我们看到了getResource的方法,也就是说我们只需要一个路径参数就能获取到Resource对象.

那么,我们怎么描述各种不同的资源呢?

spring给提供了资源描述符的概念,如classpath: file等.

这里不说这些了,因为我们常常就在使用.


五 .PathMatchingResourcePatternResolver

这个类是spring给提供了标准ResourceLoader的实现类,可以完成资源描述符的解析.

下面通过一个例子完成演示:  

@Test
    public void test() throws Exception {
        PathMatchingResourcePatternResolver loader = new PathMatchingResourcePatternResolver();
        Resource resource = loader.getResource("aa.txt");
        String copyToString = FileCopyUtils.copyToString(new FileReader(resource.getFile()));
        System.out.println(copyToString);
    }

我们发现现在我们使用各种资源简直方便极了,几乎各种资源都能完成了.

 

以上是关于007 IOC---Resource的主要内容,如果未能解决你的问题,请参考以下文章

免费下载全套最新007Mybatis视频教程+教学资料+学习课件+源代码+软件开发工具

使用IDEA学习JSP代码第007课

随想007:模块化代码

#007# Backtracking

Sublime text3 007 PHP 代码运行在 SublimeText 中

Redis2.6源代码走读第007课:压缩列表01