FileSystemResource и ClassPathResource — это два разных способа загрузить конфигурационные файлы Spring, они отличаются тем, где именно Spring ищет файл ресурса.
FileSystemResource загружает конфигурационные файлы из файловой системы, используя либо:
/usr/local/config/spring-config.xml)./config/spring-config.xml)Этот способ полезен, когда конфигурационные файлы лежат вне пакета приложения и тебе нужен прямой доступ к файловой системе.
ClassPathResource ищет конфигурационные файлы в classpath приложения. Конфигурационный файл должен быть:
Это рекомендуемый подход для большинства приложений, потому что конфигурация путешествует вместе с деплоем приложения.
| Аспект | FileSystemResource | ClassPathResource |
|---|---|---|
| Расположение | Файловая система | Classpath |
| Тип пути | Абсолютный или относительный | Расположение в classpath |
| Лучше всего для | Внешние конфиги | Упакованные конфиги |
| Портативность | Низкая (зависит от пути) | Высокая (не зависит от пути) |
Используй ClassPathResource для обычных конфигов приложения, которые должны быть упакованы вместе с ним. Используй FileSystemResource только когда тебе нужны внешние конфигурационные файлы, которые лежат вне пакета приложения, — например, настройки, специфичные для окружения и деплоящиеся отдельно от приложения.
ClassPathResource — рекомендуемый подход для большинства приложений, потому что файлы конфигурации упаковываются вместе с развёртыванием приложения и обеспечивают лучшую портативность в разных окружениях.
Новый — ещё не проверен сообществом
Вы