近日,在使用过滤器时,由于要在初始化的时候加载数据库里的数据。但是发现注解注入bean的时间在init之后,导致没法在init方法里面使用数据库bean对象。
后来发现可以通过FilterConfig获取bean,方法如下:
ApplicationContext app= WebApplicationContextUtils.getWebApplicationContext(config.getServletContext());
PubCommonDAO dao = (PubCommonDAO)app.getBean("pubCommonDAO");
或
PubCommonDAO dao = app.getBean("pPubCommonDAO.class);