2016-03-12 4 views
1

я развиваю свой Spring на основе веб-приложения с использованием Spring Framework + Spring Security + Hibernate для доступа к данным (ОРМ) + Maven в качестве менеджера сборки. Все операции доступа к данным должны предоставляться Hibernate.Различные файлы конфигурации пружины роли

Моя цель - интегрировать Spring Security, Spring Framework и Hibernate для совместной работы. Я прочитал много соответствующих руководств, но меня смущает то, что в коде есть (в коде учебников) много файлов конфигурации xml, отсутствующих в моем проекте. Here is the structure of my project

Как вы видите, есть только два связанных с Spring xml-файла и web.xml - все они были автоматически генерированы Spring, когда я добавил Spring Framework и поддержку Spring Security для моего проекта.

Но в упомянутых учебниках также есть файлы с именем «spring-database.xml», «spring-security.xml». Во-первых, я думаю, это настроить Spring-данные из базы данных, а вторая - просто базовую конфигурацию Spring Security. файл.

Вопросы:
1) Эти два файла не генерируется автоматически, даже "весна-security.xml". Все в порядке - так оно и должно быть? Или что-то не так с настройками моего проекта?

2) Если я могу назвать эти конфигурационные файлы xml, как я хочу, то как весна знает о них всех и отличает их? Я просто ничего не нашел о файлах конфигурации с такими именами в официальных документах Spring refference.

Ответ на вопрос 2, пожалуйста, приведите несколько примеров, если это возможно.

3) Мое приложениеКонтекстовый файл пуст - это нормально? А что, если разница между ним и диспетчером-сервлетом?

Спасибо заранее!

ответ

2

1) Мне вообще нужен только один файл конфигурации пружины, который обычно помещается в src/main/resources (или в другом месте по пути к классам) и после вызова applicationContext.xml или аналогичного. Если вы используете несколько модулей Spring (например, Spring Data, Spring Security и т. Д.), Обычно для каждого модуля есть один отдельный файл конфигурации, но это необязательно, вы можете поместить всю конфигурацию в один и тот же xml.

2) Наименования не имеет значения, весна выглядит в пути к классам для файлов: https://softwareengineering.stackexchange.com/questions/145545/where-to-put-spring-configuration-file

3) Обычно applicationContext.xml содержит определение ваших бобов и пакетов для сканирования аннотации и должны быть помещен в src/main/resources. Я думаю, dispatcher-servlet.xml предназначен для отображения URI/сервлетов (spring mvc)

0

Нет проблем с вашей структурой проекта. Не обязательно иметь имена файлов, как в вашем проекте. Если вы хотите иметь свои собственные имена для файлов xml, вы должны указать имена xmls в файле web.xml. См. Ниже

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
    /WEB-INF/dispatcher-servlet.xml 
    /WEB-INF/spring-security.xml 
    </param-value> 
</context-param> 

Выполнение третьего вопроса. applicationContext.xml не должно быть пустым. Вам нужно указать компоненты вашего приложения (службы, dao и т. Д.) В applicationContext.xml. В dispatcher-servlet.xml вам нужно указать beans (сопоставления обработчиков, контроллеры, view resolvers и т. Д.), Связанные с весной mvc.

+0

Но во многих учебниках applicationContext вообще не описывается, то есть он должен быть пустым или просто отсутствовать. Почему это возможно? – IngeniousTom

Смежные вопросы