自定义Servlet监听器中使用Spring提供Bean的方法
Spring会在WEB容器完全启动后为应用程序提供Bean,但是往往应用程序需要自定义监听器做一些初始化的工作,特别是加载一些数据到application中作为缓存,这时候使用@Autowired是无法自动织入Spring的Bean的。
自定义ServletContextListener使用Spring提供的bean的方法是在方法中手工调用,虽然会损耗一些资源,但是这一部分操作处于服务器启动时,是一次性的损耗,对用户访问并无太大影响。使用方法如下:
自定义ServletContextListener使用Spring提供的bean的方法是在方法中手工调用,虽然会损耗一些资源,但是这一部分操作处于服务器启动时,是一次性的损耗,对用户访问并无太大影响。使用方法如下:
/** * 初始化监听器,加载一些必要的信息到application域 */ @Override public void contextInitialized(ServletContextEvent event) { ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext()); this.optionDao=(OptionDao)applicationContext.getBean("optionDao"); ... }