自定义Servlet监听器中使用Spring提供Bean的方法

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

posted on 2012-03-22 13:50  newflypig  阅读(544)  评论(0编辑  收藏  举报

导航