Interface ResourcePatternResolver
- All Superinterfaces:
ResourceLoader
- All Known Subinterfaces:
ApplicationContext
,ConfigurableApplicationContext
,ConfigurableWebApplicationContext
,WebApplicationContext
- All Known Implementing Classes:
AbstractApplicationContext
,AbstractRefreshableApplicationContext
,AbstractRefreshableConfigApplicationContext
,AbstractRefreshableWebApplicationContext
,AbstractXmlApplicationContext
,AnnotationConfigApplicationContext
,AnnotationConfigWebApplicationContext
,ClassPathXmlApplicationContext
,FileSystemXmlApplicationContext
,GenericApplicationContext
,GenericGroovyApplicationContext
,GenericWebApplicationContext
,GenericXmlApplicationContext
,GroovyWebApplicationContext
,PathMatchingResourcePatternResolver
,ServletContextResourcePatternResolver
,StaticApplicationContext
,StaticWebApplicationContext
,XmlWebApplicationContext
Resource
objects.
This is an extension to the ResourceLoader
interface. A passed-in ResourceLoader
(for example, an
ApplicationContext
passed in via
ResourceLoaderAware
when running in a context)
can be checked whether it implements this extended interface too.
PathMatchingResourcePatternResolver
is a standalone implementation
that is usable outside an ApplicationContext
, also used by
ResourceArrayPropertyEditor
for populating Resource
array bean
properties.
Can be used with any sort of location pattern — for example,
"/WEB-INF/*-context.xml"
. However, input patterns have to match the
strategy implementation. This interface just specifies the conversion method
rather than a specific pattern format.
This interface also defines a "classpath*:" resource
prefix for all matching resources from the module path and the class path. Note
that the resource location may also contain placeholders — for example
"/beans-*.xml"
. JAR files or different directories in the module path
or class path can contain multiple files of the same name.
- Since:
- 1.0.2
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Pseudo URL prefix for all matching resources from the class path:"classpath*:"
.Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
-
Method Summary
Modifier and TypeMethodDescriptionResource[]
getResources
(String locationPattern) Resolve the given location pattern intoResource
objects.Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResource
-
Field Details
-
CLASSPATH_ALL_URL_PREFIX
Pseudo URL prefix for all matching resources from the class path:"classpath*:"
.This differs from ResourceLoader's
"classpath:"
URL prefix in that it retrieves all matching resources for a given path — for example, to locate all "beans.xml" files in the root of all deployed JAR files you can use the location pattern"classpath*:/beans.xml"
.As of Spring Framework 6.0, the semantics for the
"classpath*:"
prefix have been expanded to include the module path as well as the class path.
-
-
Method Details
-
getResources
Resolve the given location pattern intoResource
objects.Overlapping resource entries that point to the same physical resource should be avoided, as far as possible. The result should have set semantics.
- Parameters:
locationPattern
- the location pattern to resolve- Returns:
- the corresponding
Resource
objects - Throws:
IOException
- in case of I/O errors
-