007 IOC---Resource

一 . 概述

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


 二 .资源访问

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

  spring将资源定义为Resource.

其中Reource继承了InputStreamReource.

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

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


 三 .Resource的实现类  

扫描二维码关注公众号,回复: 1030285 查看本文章
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);
    }

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

猜你喜欢

转载自www.cnblogs.com/trekxu/p/9090775.html
007
今日推荐