Интерфейс ResourcePatternResolver является расширением интерфейса ResourceLoader, который определяет стратегию разрешения шаблона расположения (например, шаблона пути в стиле Ant) в объекты Resource.

public interface ResourcePatternResolver extends ResourceLoader {
    String CLASSPATH_ALL_URL_PREFIX = "classpath*:";
    Resource[] getResources(String locationPattern) throws IOException;
}

Как можно видеть выше, этот интерфейс также определяет специальный префикс ресурса classpath*: для всех совпадающих ресурсов из пути классов. Обратите внимание, что в данном случае местоположение ресурса должно быть путем без плейсхолдеров – например, classpath*:/config/beans.xml. JAR-файлы или различные каталоги в classpath могут содержать несколько файлов с одинаковым путем и одинаковым именем.

Передаваемый ResourceLoader (например, предоставленный через семантику ResourceLoaderAware) может быть проверен на предмет того, реализует ли он этот расширенный интерфейс.

PathMatchingResourcePatternResolver – это самостоятельная реализация, которая может использоваться вне ApplicationContext и также используется ResourceArrayPropertyEditor для заполнения свойств бинов Resource[]. PathMatchingResourcePatternResolver может разрешить указанный путь расположения ресурса в один или несколько соответствующих объектов Resource. Исходный путь может быть простым путем, который имеет отображение "один к одному" с целевым Resource, или же может содержать специальный префикс classpath*:, и/или внутренние стандартные выражения в стиле Ant (сопоставленные с помощью служебной программыorg.springframework.util.AntPathMatcher в Spring). Оба последних варианта являются фактически подстановочными знаками (wildcards).

ResourceLoader по умолчанию в любом стандартном ApplicationContext фактически является экземпляром PathMatchingResourcePatternResolver, который реализует интерфейс ResourcePatternResolver. То же самое справедливо и для самого экземпляра ApplicationContext, который также реализует интерфейс ResourcePatternResolver и делегирует его стандартному PathMatchingResourcePatternResolver.