Java 我们为什么要写“为什么?”*&引用;类路径之后
为什么我们需要在类路径之后写“* 这里有一个例子Java 我们为什么要写“为什么?”*&引用;类路径之后,java,xml,spring,Java,Xml,Spring,为什么我们需要在类路径之后写“* 这里有一个例子 <import resource="classpath*:META-INF/spring/config.xml"/> 这是一个正则表达式模式(专门用于spring),它意味着匹配位置路径的其余部分 在本例中,匹配类路径的META-INF/spring文件夹中的所有config.xml文件 这里是Spring参考,它以更好的方式更好地解释了它 应用程序上下文构造函数值中的资源路径可以是一个简单路径(如上所示),它具有到目标资源的一
<import resource="classpath*:META-INF/spring/config.xml"/>
这是一个正则表达式模式(专门用于spring),它意味着匹配位置路径的其余部分
在本例中,匹配类路径的META-INF/spring
文件夹中的所有config.xml
文件
这里是Spring参考,它以更好的方式更好地解释了它
应用程序上下文构造函数值中的资源路径可以是一个简单路径(如上所示),它具有到目标资源的一对一映射,或者也可以包含特殊的“classpath*:”前缀和/或内部Ant样式的正则表达式(使用Spring的PathMatcher实用程序进行匹配)。后者都是有效的通配符
类路径*:
前缀意味着,不只是从指定的类路径位置检索第一个条目,而是使用所有这些条目并合并在一起。由于每个组件(JAR)可以在相同的类路径位置上贡献自己的资源,这使得每个组件可以将其定义贡献到一个公共资源中。如果它是正则表达式,这意味着它在classpat
之后接受零个或多个h
字符。这有意义吗?@MarkoTopolnik这是一个正则表达式类型的特殊前缀。前缀与正则表达式或任何其他类型的模式匹配无关。@MarkoTopolnik我认为,从技术上讲,这种通配符可以算作正则表达式——也就是说,它描述了一种(非常简单的)正则语言。但是你说得对,99%的时候人们并不认为它是正则表达式,但是@yshavit注意到实际的特性根本没有模式匹配。路径规范是按字面理解的,功能是完全不同的。