Resource接口
spring设计了一个Resource借口,用于提供对不同资源类型的访问,根据不同的资源需要选择不同的实现类进行访问,主要方法:
- exists():资源是否存在。
- isOpen():资源是否打开。
- getURL():如果资源可以表示为URL,则返回URL对象。
- getInputStream():返回资源的对应流
例子:
//访问文件系统的文件
Resource res1=new PathResource("D:/bean.xml");
InputStream is1=res1.getInputStream();
//使用累路径加载文件
Resource res2=new ClassPathResource("config/bean.xml");
InputStream is2=res2.getInputStream();
ResourceLoader资源加载
如果使用以上的资源访问方式,使用人员需要根据不同的资源类型,自己选择对应的实现类,相对比较麻烦,因此,spring 提供了一个更强大的资源加载方式,通过识别地址前缀,自动选择实现类。?
- classppath:–类路径中加载
- file:–文件系统目录中加载
- http://–Web服务器加载
- ftp://–ftp服务器加载
例子:
ResourcePatternResolver resolver=new PathMatchingResourcePatternResolver();
Resource resource[]=resolver.getResources("classPath://com.sunjie.tradition/**/*.xml")
classpath*: 加载所有的拥有相同包名的文件
classpath:仅仅加载一个文件
Ant
?:匹配一个字符串
*:匹配任意字符串
**:匹配多层路径