Возможно ли запустить программу spring-orm, используя только dispatcher-servlet.xml. Без использования ContextLoaderListener и applicationcontext.xml?
Да, все в порядке.
Если да, то как?
Вы просто делаете это. Поместите все, что вам нужно, в dispatcher-servlet.xml
, он будет работать самостоятельно. Хотя принято ставить связанные с DAO вещи в applicationContext.xml
и MVC в dispatcher-servlet.xml
, это ни в коем случае не является обязательным требованием. Все это может находиться в одном файле, если вы выберете.
Во-вторых, почему необходимо регистрировать dispatcher-servlet.xml или applicationcontext.xml в web.xml? Потому что, когда эти файлы не зарегистрированы в web.xml, все инъекции сеттера (указанные в dispatcher-servlet.xml или applicationcontext.xml) происходят при запуске сервера, что означает, что эти xml-файлы загружаются без регистрации в web.xml.
Потому что, если вы не укажете их в web.xml
, Spring будет использовать значения по умолчанию и все равно их искать. DispatcherServlet
будет искать <servlet-name>-servlet.xml
, а ContextLoaderListener
будет искать /WEB-INF/applicationContext.xml
по умолчанию. Вы можете переопределить это в web.xml
, если хотите.