码迷,mamicode.com
首页 > 其他好文 > 详细

007 IOC---Resource

时间:2018-05-25 22:07:20      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:ring   对象   方法   exception   存在   pyutil   参数   实现类   loader   

一 . 概述

  在前面,我们看到了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

标签:ring   对象   方法   exception   存在   pyutil   参数   实现类   loader   

原文地址:https://www.cnblogs.com/trekxu/p/9090775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!