Как получить доступ к методам DAO в ServletContextListener в Spring3 - PullRequest
3 голосов
/ 24 февраля 2012

Я использую Spring3 + Hibenate3, и я новичок в этом. так что не очень много знаний. Я хочу список записей, которые будут вызываться из методов DAO. Я пытаюсь получить список, но он показывает исключение нулевого указателя.

Может кто-нибудь сказать мне, как настроить ServletContextListener в Spring3, чтобы я мог получить список записей из метода, который я вызываю ...

Спасибо.

1 Ответ

0 голосов
/ 25 февраля 2012

Код ниже поможет вам,

public class MyListener implements ServletContextListener {

    private ApplicationContext applicationContext;
    private MyDAO myDAO;

    public void contextInitialized(ServletContextEvent event) {
        applicationContext = getContext(event);
        myDAO = applicationContext.getBean("myDAO");
        performAction();
    }

    public void contextDestroyed(ServletContextEvent event) {

    }

    /**
     * Gets the ApplicationContext from the ServletContextEvent.
     * 
     * @param event
     * @return ApplicationContext.
     */
    private ApplicationContext getContext(ServletContextEvent event) {
        return WebApplicationContextUtils
                .getRequiredWebApplicationContext(event.getServletContext());
    }

    void performAction(){
        myDAO.getTheNeededData();
    }
}

Чтобы добавить слушателя, добавьте строки ниже в web.xml,

<listener>
    <listener-class>com.foo.MyListener</listener-class>
</listener>
...