proyecto integracion crear con aprender and spring hibernate servlets struts2

integracion - ¿Cómo implementar ServletContextListener en la aplicación struts2, spring, hibernate?



spring hibernate sessionfactory (2)

En mi aplicación, quiero almacenar algunos de mis datos en ServletContext, ya que se usarán en la aplicación. Los datos se guardan en una base de datos. Todas las configuraciones se realizan mediante la integración de struts2, spring, hibernate. El problema es que estoy encontrando dificultades para recuperar los datos de la base de datos. Spring no puede inyectar la clase dao impl a la clase que está implementando ServleltContextListener. ¿Alguien puede decirme cómo hacer esto? ¿O hay alguna alternativa?


El mejor enfoque sería implementar la interfaz ServletContextAware de Spring y luego usar un método @PostConstruct o afterPropertiesSet para agregar elementos al contexto del servlet.


Prueba esto

import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class MyListener implements ServletContextListener { /** * @see javax.servlet.ServletContextListener#contextInitialized * (javax.servlet.ServletContextEvent) */ @Override public void contextInitialized(ServletContextEvent sce) { WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()); Object yourDaoImplClass = applicationContext.getBean("your_bean_name_or_bean_id"); //You can type cast yourDaoImplClass to your object } /** * @see javax.servlet.ServletContextListener#contextDestroyed * (javax.servlet.ServletContextEvent) */ @Override public void contextDestroyed(ServletContextEvent sce) { } }

Espero que esto funcione. Déjame saber como va.