ResourcePatternResolver интерфейси ResourceLoader интерфейсининг kengaytmasi hisoblanadi va u joylashuv shablonini (masalan, Ant uslubidagi yo'l shabloni) Resource obyektlariga ajratish strategiyasini belgilaydi.
public interface ResourcePatternResolver extends ResourceLoader {
String CLASSPATH_ALL_URL_PREFIX = "classpath*:";
Resource[] getResources(String locationPattern) throws IOException;
}
Yuqorida ko'rib turganingizdek, bu interfeys shuningdek classpath*: resurs prefiksi bilan barcha mos keluvchi resurslarni classpath'dan olib keladi. E'tibor bering, bunda resurs joylashuvi plaseholdlarsiz yo'l bo'lishi kerak – masalan, classpath*:/config/beans.xml. JAR-fayllar yoki classpath'dagi turli xil kataloglar bir xil nom va yo'lga ega bir nechta fayllarni o'z ichiga olishi mumkin.
Berilgan ResourceLoader (masalan, ResourceLoaderAware semantikasi orqali taqdim etilgan) ushbu kengaytirilgan interfeysni amalga oshirib-oshirmaganligini tekshirish mumkin.
PathMatchingResourcePatternResolver – bu mustaqil realizatsiya bo'lib, ApplicationContext dan tashqarida ham ishlatilishi mumkin va shuningdek ResourceArrayPropertyEditor tomonidan Resource[] bo'limlarining parametrlarini to'ldirish uchun foydalaniladi. PathMatchingResourcePatternResolver belgilangan resurs joylashuv yo'lini bir yoki bir nechta mos keluvchi Resource ob'ektlariga ajratishi mumkin. Asosiy yo'l oddiy yo'l bo'lishi mumkin, u maqsadli Resource bilan "birga bir" xaritalangan yoki classpath*: prefiksi va/yoki Ant uslubidagi ichki standart ifodalarni o'z ichiga olishi mumkin (Spring'da org.springframework.util.AntPathMatcher yordamchi dasturi orqali moslashtirilgan). Oxirgi ikkita variant amalda wildcard'lar (yovvoyi kartalar) hisoblanadi.
Har qanday standart ApplicationContext dagi ResourceLoader odatda ResourcePatternResolver interfeysini amalga oshiruvchi PathMatchingResourcePatternResolverning nusxasi hisoblanadi. Shu bilan birga ApplicationContextning o'zi ham ResourcePatternResolver interfeysini amalga oshiradi va standart PathMatchingResourcePatternResolverga delegatsiya qiladi.
GO TO FULL VERSION