Где разместить applicationContext.xml-файл в каталоге Spring project
Я пытаюсь узнать о Spring framework для Java, и я не уверен, где я должен поместить applicationContext.xml-файл для настройки Spring beans. Мой структура каталогов выглядит следующим образом:
я вставляю .настройки? Или он должен быть помещен на верхний уровень в springapp?
Спасибо за помощь.
4 ответов
положить в папку WebContent/WEB-INF
.
ресурсы, размещенный в WEB-INF
папка недоступна из интернета, это внутренние ресурсы приложения. это хорошо, потому что ваш applicationContext.xml
не должно быть доступно из интернета.
другие хорошие варианты WebContent/WEB-INF/classes
или просто src
(оба равны).
файлы и папки с .
содержит файлы конфигурации Eclipse, они являются внутренними для Eclipse - не используйте их.
я рекомендую поместить его в src
(или src/META-INF
) папка и доступ к ней через classpath:applicationContext.xml
(или classpath:META-INF/applicationContext.xml
). (Eclipse скопирует этот файл в WebContent/WEB-INF / classes при создании военного архива.)
потому что:
- преимущество мэра
src
надsrc/main/webapp/WEB-INF
/WebContent-WEB-INF
- это, что вы можете получить доступ кsrc
файлы даже в тестах (черезclasspath:applicationContext.xml
) - не ставьте его
.settings
поскольку содержимое этого каталога не развертывается в Веб-приложение (это папка конфигурации eclipse)
конечно, когда вы используете maven, затем поместите файл в src\main\resources
(или src\main\resources\META-INF
), Maven скопирует их в папку classpath во время компиляции.
WEB-INF
или ее поддиректории. Содержимое этой папки упаковывается непосредственно в корневой каталог war
file, поэтому файлы, которые находятся непосредственно под этой папкой, доступны как ресурсы с path like '/foo.xml'
(или в весенней нотации classpath:/foo.xml
Он должен быть в classpath. Вы можете поместить исходный редактируемый экземпляр в любом месте (например, a config
каталог от корня), но тогда вам нужно будет иметь свой инструмент управления сборкой (например,Ant
или Maven
) скопируйте его в путь к классам для среды выполнения.