JavaRush /Курсы /All lectures for AM purposes /ResourcePatternResolver Ինտերֆեյսը

ResourcePatternResolver Ինտերֆեյսը

All lectures for AM purposes
1 уровень , 501 лекция
Открыта

Ինտերֆեյս ResourcePatternResolver-ը ընդլայնում է ResourceLoader ինտերֆեյսը, որը սահմանում է տեղակայման շաբլոնի լուծման ռազմավարություն (օրինակ՝ Ant ոճի ուղու շաբլոն) դեպի Resource օբյեկտներ:

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

Ինչպես երևում է վերևում, այս ինտերֆեյսը նաև սահմանում է հատուկ ռեսուրսային նախածանցը classpath*: բոլոր համընկնող ռեսուրսների համար classpath-ից: Նկատի ունեցեք, որ այս դեպքում ռեսուրսի տեղակայումը պետք է լինի ուղի առանց placeholder-ների՝ օրինակ, classpath*:/config/beans.xml: classpath-ում կան JAR ֆայլեր կամ տարբեր բնղուհներ, որոնք կարող են ունենա մի քանի ֆայլեր նույնը ուղիով և նույնը անվանումով:

Փոխանցված ResourceLoader-ը (օրինակ՝ տրամադրված ResourceLoaderAware սեմանտիկայով) կարող է ստուգվել, եթե այն իրականացրե՞լ է այս ընդլայնված ինտերֆեյսը:

PathMatchingResourcePatternResolver—ը ինքնուրույն իրականացում է, որը կարող է օգտագործվել դրսում ApplicationContext-ից և օգտագործվում է նաև ResourceArrayPropertyEditor-ում, որպեսզի լրացնի Resource[] պրոպերտիները: PathMatchingResourcePatternResolver կարող է լուծել նշված ռեսուրսի տեղակայման ուղին դեպի մեկ կամ ավելի համապատասխանող օբյեկտներ Resource. Սկզբնական ուղին կարող է լինել պարզ ուղի, որը ունի "մեկն ընդդիմանորդ" կապ Resource-ի հետ կամ կարող է պարունակել հատուկ նախածանցը classpath*: և/կամ ներքին ստանդարտ արտահայտություններ Ant ոճով (համապատասխանեցված օգտագործելու org.springframework.util.AntPathMatcher օգտակար ծրագրաշարով Spring-ում): Երկուսն էլ իրականում հանդիսանում են wildcard-ներ:

ResourceLoader-ը լռելյայն ցանկացած ստանդարտ ApplicationContext-ում փաստորեն PathMatchingResourcePatternResolver-ի օրինակ է, որը իրականացնում է ResourcePatternResolver ինտերֆեյսը: Նույնը ճշմարիտ է նաև ApplicationContext-ի ինքնին օրինակին, որը նույնպես իրականացնում է ResourcePatternResolver ինտերֆեյսը և հանձնարարում է իր ստանդարտ PathMatchingResourcePatternResolver-ին:

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ