有时候要在servlet内获取spring bean实例。如果不依附容器,每次使用bean都要重新获取一次上下文,这是不容许的。可以重写HttpServlet的init方法。在init方法内获取spring上下文实例。
代码如下:
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
impl= (impl) WebApplicationContextUtils
.getRequiredWebApplicationContext(getServletContext()).getBean(
"impl");
}
注意,一定要写super.init,而且要放在最前面。
这样就可以再doGet或者doPost内使用impl了。