核心提示:Resource接口spring设计了一个Resource接口,用于提供对不同资源类型的访问,根据不同的资源需要选择不同的实现类进行访问,主要方法:exists():资源是否存在。 isOpen():...
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:–文件系统目录中加载 https://–Web服务器加载 ftp://–ftp服务器加载
例子:
ResourcePatternResolver resolver=new PathMatchingResourcePatternResolver(); Resource resource[]=resolver.getResources("classPath://com.sunjie.tradition/**/*.xml")
classpath*: 加载所有的拥有相同包名的文件
classpath:仅仅加载一个文件
Ant
*:匹配一个字符串
*:匹配任意字符串
**:匹配多层路径