• 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);
        }

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

  • 相关阅读:
    Kaggle & Machine Learning
    练习题目总结
    日常练习//算法类
    论文阅读
    codeforces专项
    10.26—11.1
    常见算法笔记
    DM/ML学习实践(一)
    Python常见代码
    HDU 4251 --- 主席树(划分树是正解)
  • 原文地址:https://www.cnblogs.com/trekxu/p/9090775.html
Copyright © 2020-2023  润新知