J2EE加载资源文件以及Spring加载XML文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J2EE加载资源文件以及Spring加载XML文件相关的知识,希望对你有一定的参考价值。
J2EE加载XML文件
Resource接口,是用来加载文件的接口。
FileSystemResource和ClassPathResource都是实现了Resource接口,他们都可以用来加载XML文件。
具体代码如下:
1 Resource resource1 = new ClassPathResource("文件.xml"); 2 3 Resource resource2 = new FileSystemResource("盘符:/项目路径/src/文件.xml");
ClassPathResource加载文件,是从源文件夹下(比如src),去找文件。
注:web项目中,不同源文件夹的文件最终都会被编译到classes目录中,所以不同源文件夹下的文件不能同名,不然会覆盖。
FileSystemResource加载文件,是从盘符为起点,去找文件。
Spring加载XML文件
Spring中ResourceLoader是加载文件的接口。
ResourcePatternResolver接口继承了ResourceLoader接口。
PathMatchingResourcePatternResolver类实现了ResourcePatternResolver接口。
Spring中加载文件的代码如下:
1 ResourcePatternResolver rp = new PathMatchingResourcePatternResolver(); 2 3 //空1,此处可填入classpath或file,classpath是以项目src目录为起点, file是以盘符为起点。 4 //空2,是文件的路径+名字。 5 Resource resource = rp.getResource("空1:空2"); 6 7 8 //classpath* 9 //空1后面加*,如classpath*,这个意思是,在空2的路径下查名字是空2里名字的文件。 返回的是数组。 10 //如:classpath*:com/bean.xml,是从源文件夹下的com目录下找所有的bean.xml, 包括jar里面com目录下的的文件。 11 Resource[] resources = rp.getResources("classpath*:applicationContext.xml"); 12 13 //classpath:com/*.xml classpath:com/?.xml 14 // ? 单个字符 15 // * 多个字符 0个或多个 16 // ** 层级关系 (多级目标)子孙目录都找到 17 Resource[] resources1 = rp.getResources("classpath:com/bean*.xml"); 18 Resource[] resources1 = rp.getResources("classpath:com/bean?.xml"); 19 20 //找com目录下的xml文件和 com目录下,子目录中的xml文件 21 Resource[] resources1 = rp.getResources("classpath:com/*/bean.xml"); 22 23 //找com目录下xml文件和com目录下所有目录(子孙目录)的xml文件 24 Resource[] resources1 = rp.getResources("classpath:com/**/bean.xml");
以上是关于J2EE加载资源文件以及Spring加载XML文件的主要内容,如果未能解决你的问题,请参考以下文章
IDEA导入maven工程以及web.xml中spring配置文件文件加载不到的问题
spring boot打jar包运行,加载jar包外部的页面以及静态资源文件
07.Spring Bean 加载 - BeanDefinitionReader