Префикс "classpath:" специфичен для Spring или это концепция JVM? - PullRequest
6 голосов
/ 14 июня 2011

У меня есть это в моем web.xml:

<context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath:spring-config.xml</param-value>
</context-param>

Я подозреваю, что это соглашение используется только Spring? Если это так, будет ли загружаться мое приложение дольше, так как я не указываю прямое расположение файла, но теперь оно должно искать по всему пути к классам?

1 Ответ

6 голосов
/ 14 июня 2011

Я подозреваю, что это соглашение используется только Spring?

Да, это означает ClassPathResource и является частью Spring's Resource абстракция

Если это так, будет ли загружаться мое приложение дольше, поскольку я не указываю прямое расположение файла, но теперь оно должно искать весь путь к классам?

Нет, а) он использует ClassLoader внутри, что должно быть достаточно быстро.б) у тебя нет особого выбора.использование файлов является очень плохой идеей в контексте веб-приложения, поскольку оно делает вас зависимым от деталей реализации, которые следует оставить серверу приложений-исполнителя (WAR может или не может быть распакован).

...