![名师讲坛:Spring实战开发(Redis+SpringDataJPA+SpringMVC+SpringSecurity)](https://wfqqreader-1252317822.image.myqcloud.com/cover/156/29977156/b_29977156.jpg)
上QQ阅读APP看书,第一时间看更新
4.2 读取不同资源
Resource表示所有资源的统一访问标准。在Resource接口中有4个常用接口子类:ByteArrayResource(内存资源)、ClassPathResource(CLASSPATH下定位资源)、FileSystemResource(文件资源)和UrlResource(网络资源),如图4-1所示。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer682.jpg?sign=1738846111-dE4CKDA5uXORwSUiKm3afWnbpK80Xavr-0-6697e38daf7c37fdd73fba370a17ee62)
图4-1 Resource接口常用子类
1.【mldnspring-base模块】编写程序,实现内存资源读取。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer683.jpg?sign=1738846111-DiulnlfU71hc3oYiXhYgOe1IV7FnADWf-0-6128f980c4893c677836124ee37ab32a)
本程序实现了一个内存资源的读取操作,在进行内存资源读取时需要通过ByteArrayResource类的构造方法设置要读取的资源内容,而后就可以采用Resource接口中的getInputStream方法获取数据输入流对象。
2.【mldnspring-base模块】进行文件资源读取,使用FileSystemResource子类完成。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer684.jpg?sign=1738846111-2wUbPdVZDYg1dYCnhsCsItnqQKbhqGW7-0-c85efbaca3076d6b36d61d56e74360aa)
本程序利用FileSystemResource子类实现了本地文件的读取,在构造FileSystemResource类对象时传递了要读取的资源路径,而后依然利用Resource接口标准实现数据读取。
3.【mldnspring-base模块】读取CLASSPATH资源。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer685.jpg?sign=1738846111-UbIcHCbQTyvuo2W4ZwuxF2uDQCF0DV9i-0-52e81e08ce4e9990b86a1eb5e8f88092)
本程序读取了在源文件夹目录之中的Spring配置文件信息,直接使用ClassPathResource类简化了CLASSPATH路径的访问。
4.【mldnspring-base模块】读取网络资源,路径为http://localhost/mldn/mldn-data.txt。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer686.jpg?sign=1738846111-bPChIua3Vk360Bt3IW7UJJtXA6gk2iU6-0-4a210093339cd02af9c41f194a0e3e51)
通过以上4个资源读取程序,相信读者已经发现了,Spring之所以需要设置Resource接口标准,是为了对资源访问进行统一管理,即通过Resource接口子类弥补InputStream类的功能局限。