package com.baobaotao.resource;
import java.io.IOException;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
//资源加载器测试
public class ResourceUtilsExample {
public static void main(String[] args) throws Throwable {
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
//加载classpath下所有的类包及子孙包下的.xml文件
Resource[] resource = resolver.getResources("classpath:**/*.xml");
for (int i = 0; i < resource.length; i++) {
System.out.println(resource[i].getDescription());
}
}
}
资源类型的地址前缀:
1.classpath:从类路径加载资源
2.file:使用UrlResource从文件系统目录中装载资源,可采用绝对路径或相对路径
3.http:// :使用UrlResource从WEB服务器中装载资源
4.ftp:// :使用UrlResource从FTP服务器中装载资源
5.没有前缀:根据ApplicationContext具体实现类采用对应的类型的Resource
Ant风格资源地址匹配符:
1.?:匹配文件名的一个字符;如classpath:com/t?xt.xml匹配com路径下的com/text.xml,com/test.xml
2.*:匹配文件命中的任意字符;如D:/conf/*.xml匹配D:/conf/下的所有xml文件
3.**:匹配多层路径;如classpath:**/*.xml匹配classpath下所有的xml文件