Использование ApplicationContext в Spring MVC.

У меня есть файл spring.xml, в котором перечислены все определения bean-компонентов, где я перечислил все зависимости с использованием beans, указанного messageSource, dataSource и т. Д. Также у меня есть класс ApplicationContext class, где я использую контекст для получения всех beans. Код:

package models;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ApplicationContextClass {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        AbstractApplicationContext context = new ClassPathXmlApplicationContext("Spring.xml");
        context.registerShutdownHook();
        ATTModel attmodel = (ATTModel) context.getBean("att");
        //ProjectModel project = (ProjectModel)context.getBean("project");
        //project.call1();
        attmodel.call();
        System.out.println(context.getMessage("insertiondone",null, "Default greeting",null));

    }

}

и у меня есть класс Dao, где applicationContext используется для доступа к компоненту, связанному с JDBCtemplate. Теперь мне нужно разработать веб-приложение с использованием Spring MVC, и мне нужно использовать этот applicationContext. Как я могу использовать эти классы applicationContext в SpringMVC. Я знаю, что мне нужно использовать applicationcontextlisteners, но где их писать? Спасибо..


person Shantanu Tomar    schedule 04.04.2012    source источник


Ответы (1)


У вас есть два пути. В web.xml определите это.

<servlet>
    <servlet-name>yourapp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>

И в вашу папку WEB-INF добавьте yourapp-servlet.xml с вашими beans и конфигурацией mvc.

Другой способ есть. В web.xml определите это.

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        /WEB-INF/applicationContext.xml
    </param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

И в ваш WEB-INF добавьте applicationContext.xml с вашими bean-компонентами.

Вы также можете комбинировать эти подходы.

person chalimartines    schedule 04.04.2012