Используя единственный пружинный контекст приложения для веб-приложения

Я использую org.springframework.web.servlet.DispatcherServlet и org.springframework.ws.transport.http.MessageDispatcherServlet в том же приложении, но каждый загружает собственный контекст приложения, я должен загрузить все бобы в единственном контексте приложения.

Приложение состоит из типичной сети слоев> приложение> дао и т.д.

То, что я попробовал, должно использовать один сингл spring-root-context.xml путем установки его в contextConfigLocation.

Но не помог, это было проблемой для меня в течение долгого времени, я ценил бы любую справку с этим.

Любые ссылки онлайн были бы большой справкой.

8
задан Oded 23 March 2010 в 18:40
поделиться

1 ответ

Здесь вам понадобится ContextLoaderListener .Это ServletContextListener , который создает корневой WebApplicationContext , который используется всеми сервлетами в этом веб-приложении.

Ваши DispatcherServlet и MessageDispatcherServlet по-прежнему будут создавать свои собственные контексты, но каждый из них будет иметь корневой контекст в качестве родительского, поэтому они оба смогут использовать компоненты, определенные в этом корневой контекст, такой как DAO и т. д. Некоторые bean-компоненты должны оставаться в собственных контекстах сервлетов, таких как контроллеры, преобразователи представлений, конечные точки SOAP и т. д., но общие общие bean-компоненты могут находиться в корне.

Пример настройки см. В документации Spring .

12
ответ дан 5 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: