问题:Servlet单独用Spring框架只用ioc和di时,不能启动web就初始化Spring创建对象(bean也一样不能被初始化)。
问题解决:当servlet调用后台post请求时在类中加如下代码手动初始化即可。
特别注意:页面手动初始化后的生命周期仅限当前页面使用,否则失效。
public void init() throws ServletException {
super.init();
WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(getServletContext());
AutowireCapableBeanFactory factory = ctx.getAutowireCapableBeanFactory();
factory.autowireBean(this);
}