Spring 路径通配符

以上的操作有一个共同的问题,那么就是必须设置好完整的路径,但是很多时候无法一一设计完整路径。

 

例如:在不同的目录下都会存在有"applicationContext-XXX.xml"命名的结构:

如果想要将其完整的读取进来,那么就必须考虑到路径的通配符使用,在Spring之中继续发扬了ANT工具的特征.而在这个工具下提供有几种符号:

        "?":  匹配任意一位字符,例如"applicationContext-?.xml"表示可以访问"applicationContext-1.xml","applicationContext-2.xml";

        "*":   匹配零个,一个或多个字符,例如:“applicationContext-*.xml”,“applicationContext-1234.xml”。

        "**":  表示匹配任意的目录,可以零个,一个或多个。

一旦要进行多个路径的匹配那么返回的内容也是多个,此时需要另一个接口:

org.springframework.core.io.support

Interface ResourcePatternResolver

可以使用其子类:

org.springframework.core.io.support

Class PathMatchingResourcePatternResolver

 

范例:读取资源文件

public class ClassPathMany {

	public static void main(String[] args)throws Exception {
		ResourcePatternResolver loader = new PathMatchingResourcePatternResolver();
		Resource[] resources = loader.getResources("classpath:cn/jcn/test/**/applicationContext-?.xml");
		for (int i = 0; i < resources.length; i++) {
			System.out.println("文件名称:" + resources[i].getFile()
					+ "数据长度:" + resources[i].contentLength());
		}
	}
}

输出结果:

文件名称:D:\Java实例\SpringResource\WebRoot\WEB-INF\classes\cn\jcn\test\applicationContext-1.xml数据长度:645
文件名称:D:\Java实例\SpringResource\WebRoot\WEB-INF\classes\cn\jcn\test\applicationContext-2.xml数据长度:645
文件名称:D:\Java实例\SpringResource\WebRoot\WEB-INF\classes\cn\jcn\test\demo\applicationContext-c.xml数据长度:645

在Spring里面目录的访问不再成为限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值