создание класса подключения данных Spring с использованием ClassPathXmlApplicationContext - PullRequest
0 голосов
/ 22 марта 2010

Я новичок в весне и сейчас использую ClassPathXmlApplicationContext до getBean внутри класса контроллера. Это небольшой пример приложения Я строю. Но то, что я пытаюсь сделать, это переместить это ClassPathXmlApplicationContext в новый класс и держать его статичным в приложении. Так что я могу просто позвонить newclass для вызова DAO внутри конструктора. Я попробовал несколько вещей, но все время получаю ошибку NestedServletException.

Пожалуйста, предложите мне способ написать мой новый класс для передачи данных, который будет оставаться в том же состоянии по всему моему приложению, то есть я могу просто позвонить внутри каждого класс контроллера и не создавать объект DAO в конструкторе каждый раз.

Ценю любую помощь, предложение.

спасибо Walker

1 Ответ

2 голосов
/ 22 марта 2010

Как я предполагаю из названия исключения, вы говорите о веб-приложении. В этом случае вам не нужно создавать контекст приложения. Spring имеет свои встроенные механизмы. Например, используйте слушателя (в web.xml)

<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

И поэтому все ваши бобы автоматически подключаются к весне (если, конечно, настроены правильно).

Вы все еще можете получить контекст, используя ApplicationContextAware или позывной WebApplicationContextUtils.getRequiredWebApplicationContext(), но вам не нужно это делать в общем сценарии.

Вы не должны использовать контекст приложения вручную. Вместо этого пружинное соединение вашего приложения использует внедрение зависимостей , и все ваши объекты (контроллеры, daos и т. Д.) Имеют свои зависимости на месте, без необходимости «достигать» их в некотором контексте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...