码迷,mamicode.com
首页 > 编程语言 > 详细

spring资源读取

时间:2018-06-28 10:13:50      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:streams   .com   字符   传统   source   com   自己的   匹配   将实例   

  spring中对资源的读取提供有自己的新方案,比传统IO操作更加智能方便。

  对于所有的资源处置,spring提供了Resource接口,该接口中的方法都是通过其父接口InputStreamSource实现的。该接口有四个常用子类,通过这四个子类实现资源获取:

    ClassPathResource、FileSystemResource、UrlResource、ByteArrayResource。

  这四个子类中最重要的是ClassPathResource,是用来读取classpath下的资源文件:

    技术分享图片

  此时可以发现,我们这样都是通过子类直接实例化父接口,而这样就违反了spring的Ioc&DI技术的理念,为了解决这样产生的耦合性问题,提供了ResourceLoader接口。用来实现接口对象的实例化。而ResourceLoader接口中提供有一个资源的加载方法:getResource() ;,在读取资源之前需要在资源定位上使用一些特殊的标记,来区分资源类型:

    文件资源:fill:路径

    网络资源:http://路径

    ClassPath资源:classpath:路径

    技术分享图片

  而获取资源中最为重要的是获取ClassPath下的资源:

    技术分享图片

  这个时候虽然避免了获取资源时使用关键字new,但是在定义资源加载器(ResourceLoader)的时候还是使用到了new,这个时候最好的做法是将资源利用配置文件进行注入,再交给容器管理。\

以下为重点:

  【spring-base】创建一个专门读取资源的Bean对象:

    技术分享图片

  【spring-base】在spring-base.xml中配置该类的bean对象。

    技术分享图片

    这样将实例化对象交给spring容器,避免了产生耦合:

      技术分享图片技术分享图片

    对于资源,一般读取的不是某个资源,而是某一类资源,这样就需要使用到路径通配符:

      ?  0或1位任意字符

      *  0或1或n位任意字符

      **  匹配任意的字符

    【spring-base】修改spring-base.xml

      技术分享图片

      技术分享图片

 

spring资源读取

标签:streams   .com   字符   传统   source   com   自己的   匹配   将实例   

原文地址:https://www.cnblogs.com/haibinggan-/p/9237109.html

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