2018-07-01(6.30-资源访问工具类)

2018-07-01  本文已影响0人  acebear

jdk所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,因此,Spring设计一个Resource接口,它为应用提供了更强大的访问底层资源的能力:

主要方法:1.boolean exists():判断资源是否存在    

                   2.boolean isOpen():判断资源是否打开    

                   3.URL getURL():如果底层资源可以表示成URL,该方法返回对应的url对象

                   4.File getFile():如果底层资源对应一个文件,返回对应的file对象

                   5.InputStream getInputStream():返回资源对应的输入流

具体实现类:1.ByteArrayResource:二进制数组表示的资源

                   2.ClassPathResource:类路径下的资源

                   3.FileSystemresource:文件系统资源

                   4.InputStreamResource:对应一个inputStream资源

                   5.ServletContextresource:主要是为了访问web容器的上下文资源而设计的。

                   6.UrlResource:封装了java.net.url,使得用户能访问所有可以通过url表示的资源。如,文件系统的资源,http的资源等。

为了访问不同类型的资源,必须使用相应的Resource实现类,这是比较麻烦的。因此Spring提供了一个强大的加载资源的机制,能够通过classpath、file等资源地址前缀自动识别不同的资源类型:

1、资源类型地址前缀:(1)classpath classpath:com/hp/bean.xml 

                                      (2)file file:/com/hp/bean.xml

                                      (3)http:// http://www.hp.com/bean.xml

                                      (4)ftp ftp://www.hp.com/bean.xml

                                      (5)无前缀 com/hp/bean.xml

2、ant风格的匹配符:(1)?:匹配文件名中的一个字符 

                                     (2)*:匹配文件名中的任意字符 

                                     (3)**:匹配多层路径。示例:classpath:com/h*.xml    classpath:com/**/test.xml

spring定义了一套资源加载的接口,并提供了实现类:

上一篇下一篇

猜你喜欢

热点阅读