Когда вы вызываете getResource()
в определенном контексте приложения, и указанный путь расположения не имеет определенного префикса, такого как ./myresource.json
, вы получите тип ресурса, соответствующий этому конкретному контексту приложения.
Если getResource()
был выполнен для экземпляра ClassPathXmlApplicationContext, он вернет ClassPathResource
. Если такой же метод был выполнен для экземпляра FileSystemXmlApplicationContext
, вы получите обратно FileSystemResource
.За WebApplicationContext
вы получите ServletContextResource
и так далее.Таким образом, вы можете загружать ресурсы способом, соответствующим конкретному контексту приложения.
С другой стороны, вы также можете принудительно использовать ClassPathResource
, независимо от типа контекста приложения, указав специальныйclasspath
: префикс.
См. Этот документ